2 计算机组成原理第二章 数据的表示和运算 定点数运算 浮点数运算

文章目录

      • 1 进制转换
      • 2 定点数表示及其运算
        • 2.1 定点数表示
          • 2.1.1 真值→补码
          • 2.1.2 补码→真值
          • 2.1.3 [XT] →[-XT]
          • 2.1.4 真值、原码、反码、补码转换关系图形总结
          • 2.2.4 移码
        • 2.2 定点数运算
          • 2.2.1 移位运算
          • 2.2.2 定点数加减运算
          • 2.2.3 溢出判断
            • 判溢出方法一
            • 判溢出方法二
            • 判溢出方法三
      • 3 浮点数及其运算
        • 3.1 浮点数表示
        • 3.2 浮点数规格化
        • 3.3 规格化浮点数的特点
        • 3.4 IEEE754 标准
        • 3.5 浮点数加减
          • 3.5.1 浮点数的加减运算实例
          • 3.5.2 舍入
        • 3.6 浮点数强制类型转换

1 进制转换

任意进制→十进制

在这里插入图片描述

已知K、r、n
按权展开相加法

十进制→任意进制

除基取余法:在这里插入图片描述

乘基取整法:
在这里插入图片描述

进制之间的转换

分组转换:
2n进制之间的转换:二进制、四进制、八进制、十六进制

二进制一>四进制、八进制、十六进制n位一组,每组转换成对应进制的符号,位数不够补左边最高位0和右边最低位0
在这里插入图片描述

四进制、八进制、十六进制一>二进制
每位写成对应的二进制形式

BCD码
用途:可以实现二进制,十进制的快速转换(一一对应)

8421码,4位一组的二进制表示十进制对应的符号

0123456789
0000000100100011010001010110011110001001

在这里插入图片描述

遇到8421码某组上的计算产生超过1001时,需进行加6(0110)进行结果修正

2 定点数表示及其运算

小数点位置约定在固定位置的数称为定点数
小数点位置约定为可浮动的数称为浮点数

2.1 定点数表示

定点数可分为无符号数和有符号数

  • 无符号数:整个机器字长的全部二进制位均为数值位,没有符号位,相当于数的绝对值。
  • 无符号数表示范围:n位的无符号数表示范围为:0~2n-1

有符号数对应真值和机器数

真值和机器数
在这里插入图片描述

2.1.1 真值→补码
  • 正数:[X]=[X]=[X] 正数原反补一样
  • 负数:

补码:原符号位不变,数值部分按位取反,末尾+1
反码:符号位不变,数值位按位取反

2.1.2 补码→真值

按位取反+1

[XT] =1 0110100
[XT]= -(1001011+1)= -1001100

2.1.3 [XT] →[-XT]

连同符号位各位取反,末尾+1

[XT]=1 0110100
[-XT]= 0 1001100

2.1.4 真值、原码、反码、补码转换关系图形总结

在这里插入图片描述

2.2.4 移码

浮点数阶码用移码表示,移码只用来表示定点整数
E为阶码,阶码的移码表示位n位,[E]=2n-1+E(2n-1为偏置常数)

2.2 定点数运算

2.2.1 移位运算

r进制

右移n位:÷ rn
左移n位: × rn

  • 机器数采用无符号数逻辑移位
    逻辑左移时,高位移丢,低位添0;逻辑右移时,低位移丢,高位添0

  • 机器码采用有符号数算术移位
    算术移位:左移相当于乘以基数,右移相当于除以基数
    符号位不参与移位
    在这里插入图片描述

10110101                     真值-53
左移1位(丢0):1110101 0     真值-106
右移1位(丢1):10 011010     真值-26    假设不丢110011010.1  真值-26.5
再左移1位(丢1):11010100    真值-84    假设不丢11111010100  真值-212
再右移1位(丢0):10001101    真值-13

结论:原码算术移位:左移丢1,运算出错;右移丢1,影响精度。

正数:原码、补码、反码一样→左移、右移都补0
负数:反码1<——>原码0
在这里插入图片描述

2.2.2 定点数加减运算

补码的主要作用:两个有符号数可以直接相加

加减运算基本思路:

  1. 转换成x+y的形式
  2. 计算[x]+[y]

例题:设机器字长为8位(含1位符号位),A=15,B=-24,求[A+B]和[A-B]

走捷径:十进制运输完毕将结果转换为补码

在这里插入图片描述
也可以先转化为补码,再将补码进行符号扩展
在这里插入图片描述
[A+B]=[A]+[B]=0,0001111+1,1101000=1,1110111

补码1,1110111,对应原码:1,0001001 真值就是-9,15+(-24)=-9

[A-B]=[4]+[-B]=0,0001111+0,0011000=0,0100111

补码0,0100111对应真值+39,15-(-24)=+39

[-B]:[B]连同符号位一起取反加1

2.2.3 溢出判断

正溢出:两个正数做加法得负数
负溢出:两个负数做加法得正数

在这里插入图片描述

例:A=15,B=-34,C=124,求[A+C]和[B-C]

[A+C]=0 0001111+0 1111100=1 10001011 真值-11→正溢出
[B-C]=1 101000+0 000100=10 1101100 真值+108→负溢出

判溢出方法一

采用一位符号位设A的符号为As,B的符号为Bs,运算结果的符号为Ss,则溢出逻辑表达式为

在这里插入图片描述
V表示含义:[As为1且Bs为1且Ss为0] 或 [As为0且Bs为0且Ss为1]

若V=0,表示无溢出;
若V=1,表示有溢出。

补充逻辑表达式

  1. 与:如ABC,表示A与B与C仅当A、B、C均为1时,ABC为1
    A、B、C中有一个或多个为0,则ABC为0
  2. 或:如A+B+C,表示A或B或C仅当A、B、C均为0时,A+B+C为0
    A、B、C中有一个或多个为1,则A+B+C为1
判溢出方法二

采用一位符号位,根据数据位进位情况判断溢出

符号位的进位Cs最高数位的进位C1
正溢出01
负溢出10

即:Cs与C1不同时有溢出

处理“不同”的逻辑符号:异或

溢出逻辑判断表达式为:
在这里插入图片描述

若V=0,表示无溢出;
V=1,表示有溢出。

补充异或
在这里插入图片描述

判溢出方法三

采用双符号位,配合补码
正数符号为00,负数符号为11

[A+C]=00,0001111+00,1111100=01,0001011→正溢出
[B-C]=11,1101000+11,0000100=10,1101100→负溢出

记两个符号位为Ss1Ss2,则
在这里插入图片描述

若V=0,表示无溢出;
若V=1,表示有溢出。

利用双符号位计算[A+B]和[A-B]

[A+B]=00,0001111+11,1101000=11,1110111
[A-B]=00,0001111+00,0011000=00,0100111

采用双符号位的移位运算:低位符号位参与移位,高位符号位代表真正的符号

111110111  右移1位: 111111011  //低位符号位参与右移,对于负数补码,符号位空出的部分补1
000100111  左移1位: 001001110  //左移一位,数值位最高位0移到符号位低位,数值位低位空出的部分则补0
000100111  左移2位: 010011100    正溢出

3 浮点数及其运算

3.1 浮点数表示

任意一个二进制数X可以表示为: X=(-1)S× M × RE

S取值为0或1,用来决定X的符号
M是一个二进制定点小数,称为数X的尾数
E是一个二进制定点整数,称为X的阶码或指数
R是基数,可以取值为 2、4、16

在这里插入图片描述

阶码:常用补码或移码表示
尾数:常用原码或补码表示
阶码E反映浮点数的表示范围及小数点的实际位置;尾数M的数值部分的位数n反映浮点数的精度。

例:阶码、尾数均用补码表示,求b的真值
在这里插入图片描述
如果尾数部分只存储1001,怎么处理?----→规格化
在这里插入图片描述

3.2 浮点数规格化

规格化:规定尾数的最高数位必须是一个有效值。对于二进制来说最高位数1有效,对于其他进制,不是0则有效

左规:当浮点数运算的结果为 非规格化时 要进行规格化处理,将尾数左移一位,阶码减1(基数为2时)。
右规:当浮点数运算的结果尾数出现 溢出(双符号位为01或10) 时,将尾数右移一位,阶码加1(基数为2时)。

例:a=010;00.1001,b=010;00.1000,求a+b

a=22 × 00.1001; b=22 × 00.1000

a+b=22 × 00.1001+22 × 00.1000
=22 ×(00.1001+00.1000)
=22 × 01.0100 →尾数溢出,右规
=23 × 00.1010
在这里插入图片描述

3.3 规格化浮点数的特点

规格化浮点数的尾数M的绝对值应满足:1/r<|M|<1
如果r=2,则有1/2<M<1

  1. 原码规格化后:
  • 正数为0.1××…×的形式,其最大值表示为0.11…1;最小值表示为0.10…0。
    尾数的表示范围为 1/2≤M≤(1-2-n)。
  • 负数为1.1××.…×的形式,其最大值表示为1.10…0;最小值表示为1.11…1。
    尾数的表示范围为 -(1-2-n)≤M≤ -1/2。
  1. 补码规格化后:
  • 正数为0.1××…×的形式,其最大值表示为0.11…1;最小值表示为0.10…0。
    尾数的表示范围为 1/2≤M≤(1-2-n)。
  • 负数为1.0××.…×的形式,其最大值表示为1.01…1;最小值表示为1.00…0。
    尾数的表示范围为 -1≤M≤ -(1/2+2-n)。
    在这里插入图片描述

3.4 IEEE754 标准

在这里插入图片描述

尾数规格化,最高位肯定为1,若尾数原码xx...x,则尾数是1.xx...x

在这里插入图片描述

阶码部分用移码表示的,由移码得真值要减去偏置值

短浮点数:

在这里插入图片描述

长浮点数:

在这里插入图片描述

IEEE754 标准下短浮点数和长浮点数的真值:
在这里插入图片描述

IEEE 754 标准一些规定(短浮点数为例):

  1. E=0且M=0,则真值为0
  2. E=0且M≠0,为非规格化数,真值 =(-1)s×0.M×2-126
  3. 1≤E≤254时,真值 =(-1)s×1.M×2E-127
  4. E=255且M≠0时(阶码全1,尾数不为0),真值为NaN(非数值)
  5. E=255且M=0时,真值为正无穷或负无穷(看符号位)

在这里插入图片描述

IEEE 754浮点数表示范围

3.5 浮点数加减

浮点数加减运算步骤:

  1. 对阶

一般在对阶之前就有必须要把真值转化为机器数的步骤(即用补码表示阶码和尾数)

  1. 尾数加减
  2. 规格化
  3. 舍入
  4. 判溢出
3.5.1 浮点数的加减运算实例

例:已知十进制数X=-5/256、Y=+59/1024,按机器补码浮点运算规则计算X-Y,结果用二进制表示,浮点数格式如下:阶符取2位,阶码取3位,数符取2位,尾数取9位

  1. 先进行格式转换:用补码表示阶码和尾数
    在这里插入图片描述
  • 将X的阶码转化为机器数:-101 补码:1 011,再变为双符号位(阶符取两位): 11 011(11 代表负,00代表正),数值部分(阶码)3位不需要扩展
  • 将X的尾数转化为机器数:-0.101 补码:1.011 ,再变为双符号位(数符取两位):11.011,尾数取9位则扩展到9位:11.011000000(小数低位添0,整数高位添0)

转化完毕X,Y机器数表示:X:11 011,11.011000000 ;Y:11 100,00.111011000
转化完接下来就是对阶

  1. 对阶
    对阶目的:使两个数的阶码相等,小阶向大阶看齐,尾数每右移一位,阶码加1

①求阶差:[△E]=[X阶]+[-Y阶]=11011+00100=11111,知△E=-1(被减的数转化为相反数的补码形式,即[Y]→[-Y]→连同符号位按位取反,末尾+1)
②对阶X 向Y看齐:X:11011,11.011000000→11100,11.101100000(X尾数右移1位,阶码+1)
在这里插入图片描述
尾数左移/右移:双符号位也要参与移位

接下来进行尾数加减,原理就是提取公因式

  1. 尾数加减
    求 X-Y,先求-Y补码:阶码部分不变,尾数调整为相反数补码,即连同符号位按位取反,末尾+1
    [-Y]:11100,11.000101000
    在这里插入图片描述
    X-Y=11100,10.110001000
    机器数操作不理解,可以把真值操作写在旁边对比:
    在这里插入图片描述

算出的结果符号位10,溢出了,需要右规

  1. 规格化
    X-Y:11100,10.110001000→11101,11.011000100
    对应真值运算:
    在这里插入图片描述
  • 规格化之后,观察阶码阶符是否还保持正常情况(00或11),则此次运算不溢出,若规格化后,双符号位表现出溢出模式(10或 01),此次运算一定溢出!
  • 在加减处溢出不一定是溢出,只有在规格化以后还是溢出,才是真正溢出!
  1. 舍入
    这里无舍入,因为尾数右移时候,末尾丢的是一个0,不影响整个数值运算
  1. 判溢出
    此处正常阶码11,无溢出

所以结果真值为2-3×(-0.1001111)2

3.5.2 舍入
  1. “0”舍“1”入法:类似于十进制数运算中的“四舍五入”法,即在尾数右移时,被移去的最高数值位为0,则舍去;被移去的最高数值位为1,则在尾数的末位加1。这样做可能会使尾数又溢出,此时需再做一次右规。
  2. 恒置“1”法:尾数右移时,不论丢掉的最高数值位是“1”还是“0”,都使右移后的尾数末位恒置“1”。这种方法同样有使尾数变大和变小的两种可能。

例:两浮点数加减后结果为11100,10.110001011。此时肯定需要右规

采用0舍1入:11100,10.110001011→11101,11.011000101 1(末尾1丢弃,需要+1)
→11101,11.011000110 (末尾+1后进位)

恒置1:11100,10.110001011→11101,11.011000101 1
→11101,11.011000101 1

3.6 浮点数强制类型转换

类型16位机器32位机器64位机器
char888
short161616
int163232
long323264
long long646464
float163232
double646464

char →int→long →double
float →double
范围、精度从小到大,转换过程没有损失

32位
int:表示整数,范围-231-231-1,有效数字32位
float:表示整数及小数,范围 士[2-126 ~~ 2+127×(2-2-23)],有效数字23+1=24位

int→float:可能损失精度
float →int:可能溢出及损失精度

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/482198.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Gartner:AI和自动化将是新一代SASE的关键能力

来源&#xff1a;安全内参近年来&#xff0c;安全访问服务边缘&#xff08;SASE&#xff09;技术快速发展&#xff0c;得到了较广泛的行业应用。SASE架构通常包括了SD-WAN、FWaaS、安全Web网关、云访问安全代理&#xff08;CASB&#xff09;和零信任网络访问&#xff08;ZTNA&a…

MIPS指令与MIPS汇编语言

文章目录1 MIPS简介2 MIPS指令系统的特点3 MIPS寄存器4 MIPS指令格式4.1 R-Type型指令4.2 l-Type型指令4.3 J-Type型指令4.4 三类指令小结5 MIPS例题6 MIPS过程调用6.1 过程调用和栈6.2 MIPS中栈的实现6.3 栈帧的概念6.4 MIPS中的过程调用&#xff08;假定P调用Q&#xff09;6.…

DeepMind爆发史:决定AI高峰的“游戏玩家”|深度学习崛起十年

来源&#xff1a;OneFlow社区翻译&#xff1a;刘晓祯、沈佳丽、胡燕君、许晨阳、周亚坤很少有人会否认&#xff0c;过去十年&#xff0c;AI领域最耀眼的明星组织当属DeepMind&#xff0c;没有之一。那个震动世界的高光时刻发生在2016年3月的一天&#xff0c;AI选手AlphaGo击败了…

链队的介绍与实现

文章目录1 链队定义2 链队基本操作3 代码实现1 链队定义 队列的链式存储结构简称为链队列&#xff0c;它是限制仅在表头删除和表尾插入的单链表。显然仅有单链表的头指针不便于在表尾做插入操作&#xff0c;为此再增加一个尾指针&#xff0c;指向链表上的最后一个结点。 type…

二叉树介绍与代码实现

文章目录1 树的基本概念1.1 树的形式定义1.2 树的递归定义1.3 树的基本术语1.4 二叉树的递归定义1.5 存储方法1.6 满二叉树VS完全二叉树2 二叉树的性质3 代码实现1 树的基本概念 1.1 树的形式定义 T{D&#xff0c;R} D为树T中包含n个结点的有限集合&#xff0c;R为树中结点之间…

2022先进计算七大趋势

来源&#xff1a;CBInsights 中文编辑&#xff1a;蒲蒲作为智能社会的底座、数字经济的引擎&#xff0c;算力的重要性已经被提到一个前所未有的高度。当下&#xff0c;算力的提升仍然面临着来自多个维度的挑战。不论是硬件层面还是架构层面&#xff0c;算力发展都亟需变革。先进…

类脑计算将何去何从?

来源&#xff1a;内容由半导体行业观察&#xff08;ID&#xff1a;icbank&#xff09;编译&#xff1a;nature.摘要类脑计算新技术有望通过完全不同的方式处理信息&#xff0c;能效极高&#xff0c;并能处理我们加速产生的大量非结构化和嘈杂的数据。为了实现这一承诺&#xff…

1 计算机网络体系结构与OSI参考模型

文章目录1 计算机网络概述1.1 计算机网络概念1.2 计算机网络的分类2 OSI 七层参考模型应用层表示层会话层传输层网络层数据链路层物理层3 OSI参考模型与网络排错4 OSI参考模型与网络安全5 TCP/IP协议和OSI参考模型1 计算机网络概述 1.1 计算机网络概念 计算机网络概念&#xf…

一个故事讲完 CPU 的工作原理

来自&#xff1a;知乎 作者&#xff1a;柳两丛 www.zhihu.com/question/40571490/answer/718942643上二年级的小明正坐在教室里。现在是数学课&#xff0c;下午第一节&#xff0c;窗外的蝉鸣、缓缓旋转的吊扇让同学们昏昏欲睡。此时&#xff0c;刘老师在黑板上写下一个问题&a…

2 计算机网络性能指标

文章目录速率带宽吞吐量时延时延带宽积往返时间网络利用率速率 连接在计算机网络上的主机在数字信道上传送数据位数的速率&#xff0c;也称为data rate或bit rate。 单位是b/s, kb/s, Mb/s, Gb/s. 比特&#xff08;bit&#xff09;是计算机中数据量的单位&#xff0c;也是信息论…

Anthropic 公司研究人员从简单的 AI 中获得关于 Transformer 的新理解

来源&#xff1a;ScienceAI编辑 &#xff1a;橘子皮在过去的两年里&#xff0c;人工智能程序的语言流畅度达到了惊人的水平。其中最大和最好的都是基于 2017 年发明的称为 Transformer 的架构。它以方程式列表的形式作为程序遵循的一种蓝图。但除了这个简单的数学大纲之外&…

3 物理层 数据通信基础知识 奈氏准则与香农定理 物理层传输介质 信道复用技术

文章目录1 物理层基本概念2 数据通信的基础知识2.1 典型的数据通信系统模型2.2 与通信相关的几个术语2.3 有关信道的几个概念2.4 基带(baseband)信号和带通(band pass)信号2.5 几种最基本的调制方法2.6 网卡传送信号时的编码格式2.7 信道的极限容量2.8 信道能够通过的频率范围2…

向真实世界应用进军:持续自监督学习的挑战

来源&#xff1a;图灵人工智能编译&#xff1a;OGAI编辑&#xff1a;陈彩娴在 Yann Lecun 等人的推动下&#xff0c;自监督学习成为了深度学习领域最受瞩目的技术之一。互联网世界源源不断产生的数据流无疑是充分发挥自监督学习能力的最佳土壤。然而&#xff0c;将自监督学习应…

人类“超级大脑”背后的规模法则

来源&#xff1a;集智俱乐部作者&#xff1a;郭瑞东 编辑&#xff1a;邓一雪摘要不同动物的大脑具有不同形状和大小。大自然赋予像人类这样脑容量大的灵长类动物比例较大的大脑皮层。然而&#xff0c;比较研究表明&#xff0c;分配给大脑白质连接&#xff08;大脑区域间长距离沟…

Meta AI 宣布对人脑和语言处理进行长期研究

来源&#xff1a;ScienceAI编辑&#xff1a;绿萝人类的大脑长期以来一直是一个难题——它是如何发展的&#xff0c;它如何继续进化&#xff0c;它被开发和未开发的能力。人工智能 (AI) 和机器学习 (ML) 模型也是如此。正如人类大脑创建的 AI 和 ML 模型日益复杂一样&#xff0c…

10年100亿!“新基石研究员”项目正式发布

来源&#xff1a; 中国科学报文&#xff1a;《中国科学报》记者 赵广立4月30日&#xff0c;《中国科学报》获悉&#xff0c;一项总投入达100亿元、面向基础研究领域的社会资助项目——“新基石研究员项目”正式发布。在国家有关部门的指导下&#xff0c;“新基石研究员项目”由…

代表地球文明精髓的E=mc²,为什么被称为“死亡方程式”

来源&#xff1a;大数据文摘有这样一条方程式&#xff0c;原腾讯副总裁吴军博士说&#xff0c;如果地球毁灭&#xff0c;要在一张名片上写下地球文明的全部精髓&#xff0c;他会写下三个公式&#xff0c;其中就包含这个方程式&#xff1b;搜狐CEO张朝阳专门开了堂线下物理课&am…

北交桑基韬:“超”人的机器学习,非语义特征的得与失

来源&#xff1a;AI科技评论作者&#xff1a;桑基韬整理&#xff1a;维克多人工智能目前最大的“拦路虎”是不可信赖性&#xff0c;以深度学习为基础的算法&#xff0c;在实验室环境下可以达到甚至超过人类的水平&#xff0c;但在很多实际应用场景下的性能无法保证&#xff0c;…

手把手教你搭建一个中式菜谱知识图谱可视化系统

手把手教你搭建一个中式菜谱知识图谱可视化系统中式菜谱知识图谱1、系统功能2、先来看看效果实体间关联关系及实体信息显示不同类型实体开关显示搜索功能展示3、系统实现流程3.1 数据爬取3.2 D3可视化中式菜谱知识图谱 今天分享一个自己从数据爬取到d3可视化的中式菜谱知识图谱…

AI数字人未来十大展望

来源 &#xff1a;商汤智能产业研究院编辑 &#xff1a;刘振航从电影中逼真的CG人物&#xff0c;到能够与我们面对面进行互动的智能服务助手&#xff0c;数字人会经历几级进化&#xff1f;数字人正在从有颜无智的“CG数字模特”&#xff0c;进化为可提高生产力、驱动创新服务的…