资源预览内容
第1页 / 共41页
第2页 / 共41页
第3页 / 共41页
第4页 / 共41页
第5页 / 共41页
第6页 / 共41页
第7页 / 共41页
第8页 / 共41页
第9页 / 共41页
第10页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第二章 计算机中的数据表示方法 计算机组成原理 2 本章的主要知识点 数据表示:定点和浮点数据表示格式(含浮点数的规格化) 补码中模的概念及应用、补码与真值之间的关系 校验的原理、作用和实现方法 第二章 计算机中的数据表示方法 学习本章知识的视角 有利于运算器设计: 简单数据表示、简单运算方法、简化运算器设计 计算机组成原理 3 1、数据表示的目的和选择数据格式要考虑的因素 1)目的 组织数据,方便计算机硬件直接使用 2)选择选择 数据格式要考虑虑的因素 数的类型 数的范围 数的精度 存储和处理的代价 是否有利于软件的移植 一、数值数据与非数值数据的表示方法 计算机组成原理 4 2、数的机器表示 1)真值:符号用“+”、“-”表示的数据表示方法。 2)机器数:符号数值化的数据表示方法, 用0、1表示符号。 3)设定点小数的形式为X0.X1X2X3Xn X 1X 0 1-X 0 X -1 X原 = X 1X 0 2 -X - 2n 0 X -1 X反 = X补= X 1X 0 2 + X=2-|X| 0 X 1 mod 2 计算机组成原理 5 1) X= 0.1011 X原= 1.1011 X反= 1.0100 X补= 1. 0101 2) X=+0.1011 X原= X反= X补= 0.1011 3)0的表示: +0原=0.0000 -0原 =1.0000 +0反=0.0000 -0反 =1.1111 +0补=0.0000=-0补 例1 求下列各数的原码、补码和反码 计算机组成原理 6 原码: a) 表示简单 b) 运算复杂:要设置加法、减法器。(分同号和异号) c) 0的表示不唯一 4)几种常见见机器数的特点 反码: a) 表示相对原码复杂 b) 运算相对原码简单:符号位参加运算, 只需要设置加法器。 但符号位的进位位需要加到最低位 c) 0的表示不唯一 补码: a) 表示相对复杂 b) 运算简单:只需设置加法器。 c) 0的表示唯一 如 x反=0.1101 , Y反 = 1.0101 求 X+Y 计算机组成原理 设X补= X0.X1X2X3Xn X补= X 1 X 0 2 + X=2-|X| 0 X 1 mod 2 X补= X 2nX 1 2n+1 + X=2-|X| 0 X 2 n mod 2n+1 6)补码中模的概念 (符号位进位后所在位的权值) 定点小数 定点整数 计算机组成原理 8 例2 整数 1 用补码表示,下列哪些(个)结果是正确的? 1) 11 2)111 3)1111 4) 11111 5)111111 若整数x的补码形式为X0X1X2X3X4X5,则-1的补码又如何表示? 模是多少? 解:依题意知: 一个整数连同符号位在内共有6位 , 则-1补= 1 11111 根据补码的定义,其模为26 计算机组成原理 9 移码表示浮点数的阶码,只有整数形式,如IEEE754中阶码用移码表示。 设定点整数X的移码形式为X0X1X2X3Xn 则移码的定义是: X移= 2n + X 2n X - 2n 具体实现: 数值位与X的补码相同,符号位与补码相反。 例3 X= +10101 X补=010101 X移=110101 X= 10101 X补=101011 X移=001011 7) 移码(增码)表示 计算机组成原理 例4 将十进制值X(-127,-1,0,1,127)用四种机器数表示 x 真值X原X反X补X移 -127-0111111111111111100000001000000100000001 -1-0000000110000001111111101111111101111111 0 00000000 10000000111111110000000010000000 0000000001111111 1 0000000100000001000000010000000110000001 127 0111111101111111011111110111111111111111 计算机组成原理 11 1)定点数 可表示定点小数和整数 表现形式:X0.X1X2X3X4.Xn 定点小数 定点整数 定点小数表示数的范围:1-2n |x| 2-n 定点整数表示数的范围:2n-1 |x| 1 3.计算机中常用的两种数值数据格式 计算机组成原理 浮点数的使用场合 当数的表示范围超出了定点数能表示的范围时。 (1)格式(一般格式) ESE1E2E3EnMSM1M2M3M4.Mk E: 阶码位数:决定数据的范围 M: 尾数位数: 决定数的精度 2)浮点数 把数的范围和精度分别表示的一种数据表示方法。 N=Rem 计算机组成原理 13 (2)IEEE 754格式 S 8位偏指数E23位有效尾数M单精度 11位偏指数E52位有效尾数M S双精度 指数采用偏移值,其中单精度为127,双精度为1023.从而所有浮点数 的阶码值都可以变成非负整数,便于浮点数的比较和排序. IEEE754尾数形式为1.XXXXXX,其中M部分保存的是XXXXXX.这 样可以保留更多的有效数字位,进一步提高数据表示的精确度. 计算机组成原理 14 与上述IEEE754格式相对应的32位浮点数的真值可表示为: N = (-1)S 2 E-127 1.M 随E和M的取值不同,IEEE754浮点数据表示具有不同的意义 E=0 , M =0 :表示机器零; E=0 , M 0 :则N = (-1)S 2 -126 0.M,非规格化的浮点数; 1 E 254 :N = (-1)S 2 E-127 1.M ,规格化的浮点数; E=255 , M =0 :无穷大的数,对应于x / 0 (其中x 0) ; E=255 , M 0 :N= NaN,表示一个非数值,对应于0 / 0。 计算机组成原理 15 格式(75432位标准) S E1E2E3EnM2M3M4Mk S:整个数的符号位,1位表示 E:阶码,含阶符,共8位,移码表示 M:尾数,23位定点规格化正小数,小数点位于M1前 ,不占用数据位,且不含M1 ,补码表示。 表示的数的真值形式: x =(-1)s (1.M) 2 E-127 具体运算时,E取浮点数的阶码,127用对应的 二进制参与运算,即01111111 计算机组成原理 16 对于尾数,当取绝对值且已经规格化后(即对应的十进 制数大于0.5),其形式一定为0.1M2M3M4Mn,显然仅 存储M2M3M4Mn可以节约存储位。 0.1M2M3X4Xn=1.M2M3X4Xn 2 1 阶码真值和移码关系的说明(对于8位阶码) 由补码和真值的关系知: E移码=E补码+27= E补码+128 754表示 真值 (-1)s (0.1M) 2 e(-1)s (1.M) 2 e补+128 2 -1 = (-1)s (1.M) 2 e补+127 对754-32标准尾数的说明 计算机组成原理 17 IEEE754 32位浮点数与对应真值之间的变换流程 计算机组成原理 18 例5 将十进制数20.59375转换成32位IEEE754格式浮点数的二进制 格式来存储 。 解:先将十进制数换成二进制数: 20.59375=10100.10011 (0.5+0.25+0.125+0.0625+0.03125) 移动小数点,使其变成1.M的形式 10100.10011=1.01001001124 得到: S=0, e = 4,E= 100+01111111 =10000011,M = 010010011 最后得到32位浮点数的二进制存储格式为: 0100 0001 1010 0100 1100 0000 0000 0000 = (41A4C000)16 计算机组成原理 19 例6: 若某浮点数x的二进制存储格式为(41360000)16 ,求与其对应 的32位浮点表示的十进的值。 解: (41360000)16 = (0 100,0001,0 011,0 110,0 000,0 000,0 000,0 000)2 s=0 e=10000010-01111111=00000011=(3)10 1.M=1.011011 则上述浮点数对应的真值为 X=(-1)0 (1.011011)23 =(11.375)10 计算机组成原理 20 (3)浮点数的规格化 在浮点运算过程中,为了保证数据的精度,要求尾数的最高位为 非0数,即当尾数不为零时,其绝对值应大于或等于(1/2)10。 对于非规格化浮点数,可通过将尾数左移或右移,并同步修改阶 码的值以满足规格化要求。 以补码表示为例,正数规格化后,尾数的形式为: 0.1 负数规格化后,尾数的形式为: 1.0 1 计算机组成原理 21 2)检验码检验码 的工作原理 二、校验码 1)问题的提出: 检测传输、处理和存储中的错误。 检 测 器 编码器 x1 x2 x3 x4 11 1 1 1 1 0 00 01 F P 发发送端 接收端 处 理 / 传 输 3)带带校验验信息的数据形式 没有付出,就不会有收获 计算机组成原理 22 4)码码距的概念 将一组编码中任何两个合法编码之间代码不同的最小位数称为这 编码的距离,简称码距或海明距离 . 四位二进制编码0011与0001 的码距为1; 而0011与0000两组编码的 距离为2。 若用四位二进制编码只表示0000、0011、0101、0110 、1111 、 1001、1010、1100等八种编码,则码距为2。此时,这8种编码中的 任何一位发生改变,如0000变成1000就从有效编码变成了无效编码 ,容易检测到这种错误。 如果用四位二进制编十六种状态,情况又如何? 计算机组成原理 23 数据校验在正常编码的基础上,通过增加一些附加的校验位得到 。增加校验的同时也增加了码距,当码距增加到一定程度时,校 验码不仅具有检错功能,而且还可具有纠正错误的能力。 5)码码距与数据校验验之间间的关系 码距d与校验码的检错(e)和纠错(t)能力的关系如下: (1)d e+1 :可检测e个错误。 (2)d 2t+1 :可纠正t个错误。 (3)d e+t+1 :可检测e个错误并纠正t个错误(et) 。 计算机组成原理 24 如 X=1001101 ,则C=1 被传送的数据为:10011011 接收方对接收到的数字序列进行下列运算 F= X0X
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号