收藏 分享(赏)

IEEE 754标准.ppt

上传人:buyk185 文档编号:6573524 上传时间:2019-04-17 格式:PPT 页数:45 大小:231KB
下载 相关 举报
IEEE 754标准.ppt_第1页
第1页 / 共45页
IEEE 754标准.ppt_第2页
第2页 / 共45页
IEEE 754标准.ppt_第3页
第3页 / 共45页
IEEE 754标准.ppt_第4页
第4页 / 共45页
IEEE 754标准.ppt_第5页
第5页 / 共45页
点击查看更多>>
资源描述

1、IEEE 754标准,2,浮点数的表示方法,把一个数的有效数字和数的范围在计算机的一个存储单元中分别予以表示 数的小数点位置随比例因子的不同而在一定范围内自由浮动 一个十进制数可以写成 10e 一个进制数可以写成 e,M 尾数 e 指数 R 基数,数的科学表达法,3,阶码和尾数,用定点小数表示,给出有效数字的位数决定了浮点数的表示精度,表达指数部分 用整数形式表示,指明小数点在数据中的位置决定浮点数的表示范围,早期计算机表达法,4,32位单精度浮点数,:含阶符的阶码,8 位 阶码采用移码方式来表示正负指数,:1位符号位 0表示正数 1表示负数,:尾数,23位小数表示,小数点放在尾数域最前面,I

2、EEE 754标准,5,64位双精度浮点数,:含阶符的阶码,11位,:1位符号位,:尾数,52位小数,IEEE 754标准,6,浮点数的规格化,例:156.78 =15.678101 = 1.5678102= 0.15678103=REM,对于二进制数 1011.1101 =0.10111101 2+4= 10.111101 2+2 = 1.0111101 2+3 (规格化表示法) = 1.0111101 2+11 (规格化表示法)=REM,那么,计算机中究竟采用哪种数据形式?,多种数据形式,二进制数,7,尾数最高有效位为1,隐藏,并且隐藏在小数点的左边(即:1M2) 32位单精度浮点数规格化

3、表示 (-1)s(1.) 2E-127e127(e127) 64位双精度浮点数规格化表示 (-1)s (1.) 2E-1023e1023(e1023),指数真值e 用偏移码形式表示为阶码,规格化表示原则,IEEE 754标准,8, X(-1)s1.M2e (1.011011)231011.011(11.375)10, 指数e阶码127 1000 00100111111100000011=(3)10, 包括隐藏位1的尾数1.M 1.011011,例1:浮点机器数 (41360000)16,求真值,9,例2:真值20.59375,求32位单精度浮点数, 分别将整数和分数部分转换成二进制数20.59

4、37510100.10011, 移动小数点,使其在第1、2位之间,10100.100111.01001001124,e4,S0,E4+12713110000011,M010010011, 得到32位浮点数的二进制存储格式为:,0 100 0001 1010 0100 1100 0000 0000 0000 (41A4C000)16,10,E1(0000 0001)254(1111 1110) e-126+127 表达的数据范围(绝对值): 最小值: e-126,M0(1.M1)十进制表达:2-1261.1810-38 最大值: e127,M111(23个1)1.M1.111 (23个1) 22

5、-23十进制表达:(22-23)2127221273.401038,32位单精度规格化浮点数,IEEE 754标准,11,E12046 e-1022+1023 表达的数据范围(绝对值) :最小值: e-1022,M0(1.M1)十进制表达:2-10222.2310-308最大值: e1023,M111(52个1)1.M1.111 (52个1) 22-52十进制表达:(22-52)21023 221023 1.7910308,64位双精度规格化浮点数,IEEE 754标准,12,真值0的机器数(机器零) 阶码E0,尾数M0 正0:S0,负0:S1 非规格化浮点数:阶码E0,尾数M0 规格化浮点数

6、:阶码E1254(11111110) 无穷大的机器数 阶码E全1(11111111) ,尾数M0 :S0,:S1 NaN(not a number,不是一个数) 阶码E全1(11111111) ,尾数M0 用来通知异常情况,IEEE 754标准,32位单精度浮点数,13,浮点数定义其实就是0.XXXXX * 2XXXX 零点多少乘以2的多少次方 其中零点多少就是尾数,2的多少次方就是阶码,不管计算机用几位表示阶码,肯定有个表示的范围,一共有负的最大值,负的最小值,正的最大值,正的最小值4种限制 其中负的最小值(符号负,绝对值最大)就是你所问的问题,当一个表示方式中的阶码是负数,而且这个负数小于

7、计算机所能表示的阶码 如以上2的XXX次方中,XXX是负数(绝对值很大),非常小,在数学上这个值就非常接近于零,在计算机上,因为无法表示比这个值更小了,所以就把这个浮点数作为零处理,14,补充:不用管位数,先看阶码 假设一个10进制的数, 0.9999*10-9999999999999999999999999, 10的-99999999999999999999999次方,那么这个数是不是很接近0, 不管前面的0.9999是正还是负 对于2进制也一样, 0.1111*2-111111111111111111111111111111 计算机保存数字的位有限,所能表示最小的数也有范围,当一个表示方式

8、比它所能表示的数更小时,计算机无法表示,就作为0处理,实际上,这个数也很接近0了,主要还是从数学上理解,15,暂告一段落,前面的东西明白了么?,16,浮点加法、减法运算,两浮点数进行加法和减法的运算规则 (M2EEM)2E, EE完成浮点加减运算的操作过程大体分为四步: 第一步,0操作数检查; 第二步,比较阶码大小并完成对阶; 第三步,尾数进行加或减运算; 第四步,结果规格化并进行舍入处理,17,浮点加减运算的操作流程,(1)0操作数检查(2)比较阶码大小并完成对阶(3)尾数求和运算(4)结果规格化(5) 舍入处理(6)溢出处理,18,(1)0操作数检查,如果判知两个操作数或中有一个数为0,即

9、可得知运算结果而没有必要再进行后续的一系列操作,以节省运算时间,19,(2)比较阶码大小并完成对阶,两浮点数进行加减,首先要看两数的阶码是否相同,即小数点位置是否对齐若两数阶码相同,表示小数点是对齐的,就可以进行尾数的加减运算反之,若两数阶码不同,表示小数点位置没有对齐,此时必须使两数的阶码相同,这个过程叫作对阶,20,对阶 要对阶,首先应求出两数阶码E和E之差,即E EE 若E0,表示两数阶码相等,即EE; 若E0,表示EE; 若E0,表示EE 当EE时,要通过尾数的移动以改变E或E,使之相等对阶操作规定使尾数右移,阶码作相应增加,其数值保持不变 在对阶时,总是使小阶向大阶看齐,即小阶的尾数

10、向右移位(相当于小数点左移), 每右移一位,其阶码加1,直到两数的阶码相等为止, 右移的位数等于阶差E,21,(3)尾数求和运算,对阶结束后,即可进行尾数的求和运算不论加法运算还是减法运算,都按加法进行操作,22,(4)结果规格化,在浮点加减运算时,尾数求和的结果也可以得到01.或10.,即两符号位不相等,在浮点运算中,它表明尾数求和结果的绝对值大于1,向左破坏了规格化此时将尾数运算结果右移以实现规格化表示,称为向右规格化,即尾数右移1位,阶码加1当尾数不是1.M时须向左规格化,23,规格化另一种理解,(1) 规格化数的定义,(2) 规格化数的判断,S0,真值,原码,补码,反码,规格化形式,S

11、 0,规格化形式,真值,原码,补码,反码,原码 不论正数、负数,第一数位为1,补码 符号位和第 1 数位不同,24,特例,S = 1, 1补 是规格化的数,25,(3) 左规,(4) 右规,上例 x+y补 = 00, 11; 11. 1001,左规后 x+y补 = 00, 10; 11. 0010, x + y = ( 0.1110)210,当 尾数溢出( 1)时,需 右规,26,(5) 舍入处理,在对阶或向右规格化时,尾数要向右移位,这样,被右移的尾数的低位部分会被丢掉,从而造成一定误差,因此要进行舍入处理简单的舍入方法 “0舍1入“法 “恒置1“法在IEEE754标准中,舍入处理提供了四种

12、可选方法 就近舍入(四舍五入) 朝0舍入(截尾) 朝舍入 朝舍入,27,(6)溢出处理,浮点数的溢出是以其阶码溢出表现出来的在加、减运算过程中要检查是否产生了溢出 若阶码正常,加(减)运算正常结束 若阶码溢出,则要进行相应的处理另外对尾数的溢出也需要处理,28,举例说明溢出判断,设机器数为补码,尾数为 规格化形式,并假设阶符 取 2 位,阶码取 7 位,数符取 2 位,尾数取 n 位,则该 补码 在数轴上的表示为,2127(1), 2-128(2-1+ 2-n),2-1282-1,2127(12-n),阶码 01, ,阶码 01, ,阶码 10, ,按机器零处理,29,例 设20100.110

13、11011,2100(-0.10101100),求。解:为了便于直观理解,假设两数均以补码表示,阶码采用双符号位,尾数采用单符号位,则它们的浮点表示分别为浮00 010, 0.11011011 浮00 100, 1.01010100,30,(1)求阶差并对阶,EEEE补-E补00 01011 100(11 110)补(11 010)原(-2)10的阶码小,应使M右移2位,E加2,浮00 100, 0.00110110(11)其中(11)表示M右移2位后移出的最低两位数。,31,(2)尾数求和,0. 0 0 1 1 0 1 1 0 (1 1) 1. 0 1 0 1 0 1 0 0 1. 1 0

14、0 0 1 0 1 0 (1 1)+00 100, 1.10001010(11),32,(3)规格化处理,尾数运算结果的符号位与最高数值位为同值,应执行左规处理,结果为1.00010101(10),阶码为 00 011。+00 011, 1.00010101(10),33,(4)舍入处理,采用0舍1入法处理,则有1. 0 0 0 1 0 1 0 1 1 1. 0 0 0 1 0 1 1 0+00 011, 1.00010110,34,(5)判溢出,阶码符号位为00,不溢出,故得最终结果为 (00 011, 1.00010110)补(00 011, 1.11101010)原2011(-0.111

15、01010),35,举例:12位浮点数,阶码4位,包含1位阶符,尾数8位,包含1位数符,用补码表示,阶码在前,尾数(包括数符)在后,已知:X=(-0.1001011)2001 Y=0.11001012-010 求Z=X+Y。,解:X浮 = 00,001 11.0110101 Y浮 = 11,110 00.1100101 (1)对阶 E=EX-EY=EX补+-EY补 = 00,001+00,010 = 00,011 E=30,将MY右移3位,EY加3: Y浮 = 00,001 00.0001100 (101) (2)尾数相加: MZ补 = 11.1000001(101) (3)结果规格化:左规一

16、位,无溢出: MZ补 = 11.0000011(01) EZ补 = 00,001 + 11,111= 00,000 (4)舍入:按照0舍1入法,尾数多余位舍去 结果为:Z浮 = 0,000 1.0000011,36,例,解:,x补 = 11, 011; 11. 011000,y补 = 11, 100; 00. 111000, 对阶,j补 = jx补 jy补,= 11, 011,00, 100,11, 111,阶差为 1, x补 = 11, 100; 11. 101100,x = ( 0.101000)2-101,y = ( 0.111000)2-100,+,37, 尾数求和,Sx补 = 11.

17、 101100,Sy补 = 11. 001000,+,110. 110100, 右规,x+y补 = 11, 100; 10. 110100,x+y补 = 11, 101; 11. 011010,右规后, x y = (0.100110)2-11,38,39,浮点乘法、除法运算,1. 浮点乘法、除法运算规则2. 浮点乘、除法运算步骤,40,1. 浮点乘法、除法运算规则,浮点乘法运算的规则2(EE)(MM) 即乘积的尾数是相乘两数的尾数之积,乘积的阶码是相乘两数的阶码之和浮点除法运算的规则2(EE)(MM) 商的尾数是相除两数的尾数之商,商的阶码是相除两数的阶码之差,41,2. 浮点乘、除法运算步

18、骤,浮点数的乘除运算大体分为四步:第一步,0 操作数检查;第二步,阶码加/减操作;第三步,尾数乘/除操作;第四步,结果规格化及舍入处理,42,移码,移码的定义为 移2n 2n2n 按此定义,则有 移移2n2n 2n(2n() 2n移即直接用移码实现求阶码之和时,结果的最高位多加了个1,要得到正确的移码形式结果,必须对结果的符号再执行一次求反。,43,当混合使用移码和补码时,考虑到移码和补码的关系:对同一个数值,其数值位完全相同,而符号位正好完全相反。而补的定义为 补2n1 则求阶码和用如下方式完成:移补2n2n1 2n1(2n() 即 移移补 (mod 2n1) 同理 移移补 上二式表明执行阶码加减时,对加数或减数 来说,应送移码符号位正常值的反码。,44,如果阶码运算的结果溢出,上述条件则不成立。此时,使用双符号位的阶码加法器,并规定移码的第二个符号位,即最高符号位恒用 0 参加加减运算,则溢出条件是结果的最高符号位为1。此时,当低位符号位为 0时,表明结果上溢,为1时,表明结果下溢。当最高符号位为0时,表明没有溢出;低位符号位为 1,表明结果为正;为 0 时,表明结果为负。,45,例 011,110,求移 和 移,并判断是否溢出。 解: 移01 011, 补00 110, 补11 010 移移补10 001, 结果上溢。移移补00 101,结果正确,为3。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 规范标准 > 国内外标准规范

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报