计算机组成原理2_1..pptVIP

  • 3
  • 0
  • 约5.5千字
  • 约 42页
  • 2019-01-14 发布于湖北
  • 举报
第二章 运算方法和运算器 汪志华 edgar_wang@ 2.1 数据与文字的表示方法 进制的相互转换(要求非常熟练) 真值 机器数 2.1.1 数据格式 定点数:操作数数据格式中小数点是固定的,通常将数据表示成纯小数或纯整数 定点数x=x0x1x2…xn 在定点机中表示如下(x0表示符号位) 纯小数的表示范围为                   0≤|x|≤1-2-n 例如,n=8,最大值编码:0 表示: 0=1.0-0 =1-2-8 纯整数的表示范围为                   0≤|x|≤ 2n -1 例如:n=8,最大值编码 表示:100000000-1 =28-1 如何用定点数来表示非常大(e.g. 2×10+33 )的数和非常小(e.g. 9×10-28 )的数? 浮点表示法:把一个数的有效数字和数的范围在计算机的一个存储单元中分别予以表示,这种把数的范围和精度分别表示的方法,数的小数点位置随比例因子的不同而在一定范围内自由浮动。 一个任意进制数 N 可以写成      ?N=Re ?M  M :尾数,是一个纯小数。 e :比例因子的指数,称为浮点数的指数,是一个整数。 R :比例因子的基数,对于二进计数值的机器是一个常数,一般规定R 为2,8或16。 阶码 表达指数部分 用整数形式表示,指明小数点在数据中的位置决定浮点数的表示范围 尾数用定点小数表示,给出有效数字的位数决定了浮点数的表示精度 IEEE754标准 S:浮点数的符号位,1 位,0表示正数,1表示负数。 M:尾数,23位,用小数表示,小数点放在尾数域的最前面。 E:阶码,8 位阶符采用隐含方式,即采用移码方式来表示正负指数。将浮点数的指数真值e 变成阶码E 时,应将指数 e 加上一个固定的偏移值127,即 E=e+127 对于二进制数 1011.1101 =0×2+4 = 02+5 = 10.111101 ×2+2 = 1.0111101 ×2+3 为提高数据的表示精度,当尾数的值不为 0 时,尾数域的最高有效位应为1,否则以修改阶码同时左右移小数点的办法,使其变成这一表示形式,这称为浮点数的规格化表示。 尾数的最高位为非零数值的浮点数,即: 对于原码表示,xf.x1x2...xn 则 x1=1 对于补码表示,xf.x1x2...xn 则xf ⊕ x1=1 IEEE754规格化的浮点数尾数最高有效位为1,并且隐藏在小数点的左边(即:1≤M<2) IEEE754 标准中,一个规格化的32位浮点数x的真值可表示为 x=(-1)s×(1.M)×2E-127  e=E-127  IEEE754 标准中,一个规格化的64位双精度浮点数规格化表示 x= (-1)s ×(1.M)× 2E-1023 e=E-1023(E=e+1023) IEEE 754标准32位单精度规格化浮点数 E=1(0000 0001)~254(1111 1110) e=-126~+127 表达的数据范围(绝对值): 最小值: e=-126,M=0(1.M=1) 十进制表达:2-126≈1.18×10-38 最大值: e=127,M=11…1(23个1) 1.M=1.11…1 (23个1) =2-2-23 十进制表达:(2-2-23)×2127 ≈2×2127≈3.40×1038 IEEE 754标准64位双精度规格化浮点数 E=1~2046 e=-1022~+1023 表达的数据范围(绝对值) : 最小值: e=-1022,M=0(1.M=1) 十进制表达:2-1022≈2.23×10-308 最大值: e=1023,M=11…1(52个1) 1.M=1.11…1 (52个1) =2-2-52 十进制表达:(2-2-52)×21023 ≈ 2×21023 ≈1.79×10308 IEEE 754标准32位单精度规格化浮点数中一些规定 真值0的机器数(机器零) 阶码E=0,尾数M=0 正0:S=0,负0:S=1 非规格化浮点数:阶码E=0,尾数M≠0 规格化浮点数:阶码E=1~254 无穷大的机器数 阶码E=全1 ,尾数M=0 +∞:S=0,-∞:S=1 NaN(not a number,不是一个数) 阶码E=全1 ,尾数M≠0 用

文档评论(0)

1亿VIP精品文档

相关文档