收藏 分享(赏)

09-作业解析-第6章02PPT课件.ppt

上传人:Facebook 文档编号:3832710 上传时间:2018-11-20 格式:PPT 页数:22 大小:373KB
下载 相关 举报
09-作业解析-第6章02PPT课件.ppt_第1页
第1页 / 共22页
09-作业解析-第6章02PPT课件.ppt_第2页
第2页 / 共22页
09-作业解析-第6章02PPT课件.ppt_第3页
第3页 / 共22页
09-作业解析-第6章02PPT课件.ppt_第4页
第4页 / 共22页
09-作业解析-第6章02PPT课件.ppt_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、浮点数的表示形式(以2为底):X = S 2 j 2 基数S 尾数,定点小数,用补码表示,决定数的有效精度。j 阶码, 定点整数,用补码或移码表示,决定数的表示范围。,浮点数:表示范围与精度,在机器字长一定的情况下,阶码位数越多,尾数位数就越少。阶码j 越大:数的表示范围越大,数的表示精度越小。尾数S 越大:数的表示精度越大,数的表示范围越小。,上溢 阶码j 最大阶码 下溢 阶码j 最小阶码 按 机器零 处理,即:小数点后太多0,接近于0。 比如:0.8125 * 10 -20,当浮点数 尾数为 0 时,不论其阶码为何值按机器零处理。,机器零,或者当浮点数 阶码等于或小于它所表示的最小数时,不

2、论尾数为何值,按机器零处理。,例、浮点数采用什么机器数形式表示时,可用全0表示机器零? P225,阶码用移码表示:最小负数的阶码是全0;尾数用补码表示:真值0表示为全0。,浮点数:表示范围与精度,参考下页,-0,-1,-128,-127,-127,-126,-3,-2,-1,设机器数字长为 8 位(其中位为符号位)对于整数,当其分别代表无符号数、原码、补码和反码时,对应的真值范围。,移码:补码的符号位取反。 移码:00000000,(-128)表示最小负数值。,例、 将 + 写成二进制定点数、浮点数及在定点机和浮点机中的机器数形式。其中数值部分均取 10 位,数符取 1 位,浮点数阶码取 5

3、位(含1位阶符)。,解:,设 x = +,二进制形式,定点表示,浮点规格化形式,x原 = 1, 0010; 0. 1001100000,x补 = 1, 1110; 0. 1001100000,x反 = 1, 1101; 0. 1001100000,定点机中,浮点机中,x = 0.0010011,x = 0.0010011,x = 0.10011000002 - 0010,x原 = x补 = x反 = 0.0010011000,浮点数:规格化,原码规格化后 ,尾数最高一位一定是1。 正数为:0.1XXX.XXX 的形式 负数为:1.1XXX.XXX 的形式 补码规格化后,尾数最高一位一定与符号位

4、相反。 正数为:0.1XXX.XXX 的形式 负数为:1.0XXX.XXX 的形式,浮点数:规格化,x = 0 . 1001 10002010,例:设浮点数字长32位,基数2,阶码8位(含一位阶符),尾数24位(含一位尾符)若阶码与尾数同时采用原码或补码表示,且尾数规格化,分别写出对应的最大正数、最小正数、最大负数、最小负数的机器数与十进制真值。,注意:负数的补码形式比原码多表示一个最小负数。,例:设浮点数字长32位,基数2,阶码8位(含一位阶符),尾数24位(含一位尾符)若阶码与尾数同时采用原码或补码表示,且尾数规格化,分别写出对应的最大正数、最小正数、最大负数、最小负数的机器数与十进制真值

5、。,6-12、设浮点数格式为:阶符1位、阶码4位、数符1位、尾数10位。 写出51/128、27/1024、7.375、-86.5所对应的机器数。要求 (1)阶码和尾数均为原码; (2)阶码和尾数均为补码; (3)阶码为移码,尾数为补码。 解:据题意画出该浮点数的格式: 1 4 1 10,将十进制数转换为二进制: x1 = 51/128 =(0.011 001 1)2 = 2-1 (0.110 011)2 x2 = -27/1024 =(- 0.000 001 101 1)2 = 2-5 (-0.110 11)2 x3 = 7.375 =(111.011)2 = 23 (0.111 011)2

6、 x4 = -86.5 =(-1 010 110.1)2 = 27 (-0.101 011 01)2 则以上各数的浮点数为:2-1 (0.110 011)2 (1)原码+原码 x1浮 = 1, 0001;0. 1100 1100 00 (2)补码+补码 x1浮 = 1, 1111;0. 1100 1100 00 (3)移码+补码 x1浮 = 0, 1111;0. 1100 1100 00,规格化数,(1)原码+原码 x2浮=1,0101;1.110 110 000 0 (2)补码+补码 x2浮=1,1011;1.001 010 000 0 (3)移码+补码 x2浮=0,1011;1.001 0

7、10 000 0 (1)原码+原码 x3浮=0,0011;0.111 011 000 0 (2)补码+补码 x3浮=0,0011;0.111 011 000 0 (3)移码+补码 x3浮=1,0011;0.111 011 000 0 (1)原码+原码 x4浮=0,0111;1.101 011 010 0 (2)补码+补码 x4浮=0,0111;1.010 100 110 0 (3)移码+补码 x4浮=1,0111;1.010 100 110 0 注:以上浮点数也可采用如下格式: 1 1 4 10,此时只要将上述答案中的数符位移到最前面即可。,2-5 (-0.110 11)2,23 (0.111

8、 011)2,27 (-0.101 011 01)2,浮点数的规格化形式,r = 2,尾数最高位为 1,r = 4,尾数最高 2 位不全为 0,r = 8,尾数最高 3 位不全为 0,浮点数的规格化,r = 2,左规 尾数左移 1 位,阶码减 1,右规 尾数右移 1 位,阶码加 1,r = 4,左规 尾数左移 2 位,阶码减 1,右规 尾数右移 2 位,阶码加 1,r = 8,左规 尾数左移 3 位,阶码减 1,右规 尾数右移 3 位,阶码加 1,基数 r 越大,可表示的浮点数的范围越大,基数不同,浮点数的 规格化形式不同,基数 r 越大,浮点数的精度降低,浮点数:规格化,r = 16,尾数最

9、高 4 位不全为 0,6-13、浮点数格式同上题,当阶码基值分别取2和16时, (1)说明2和16在浮点数中如何表示。 (2)基值不同对浮点数什么有影响? (3)当阶码和尾数均用补码表示,且尾数采用规格化形式,给出两种情 况下所能表示的最大正数和非零最小正数真值。,(2)当基值不同时,对数的表示范围和精度都有影响。即:在浮点格式 不变的情况下,基越大,可表示的浮点数范围越大,但精度越下降。 (3)r=2时, 最大正数的浮点格式为: 0,1111;0.1111 1111 11 其真值为:N+max=(1-2-10) 215 最小正数的浮点格式为(非零,规格化): 1,0000;0.1000 00

10、00 00 其真值为:N+min = 2-12-16 = 2-17 r=16时, 最大正数的浮点格式为: 0,1111;0.1111 1111 11 其真值为:N+max=(1-2-10)1615 最小正数的浮点格式为(非零,规格化): 1,0000;0.0001 0000 00 其真值为:N+min =2-416-16 = 16-17,解:(1)阶码基值不论取何值,在浮点数中均为隐含表示,即:2和16不出 现在浮点格式中,仅为人为的约定。一旦确定就不再变了。,正+|最大阶码| 正+|最大尾数|,负+|最大阶码| 正+|最小尾数|,例:设机器数字长为 24 位,欲表示3万的十进制数,试问在保证

11、数的最大精度的前提下,除阶符、数符各取1 位外,阶码、尾数各取几位?,满足 最大精度 (尾数位数尽可能的多) 可取 阶码 = 4,尾数 = 24 4 1 1 = 18,解:,阶码 = 4,5,6,2的幂为 +0 + 15 -0 -15,可反映 3 万之间的十进制数,215 = 32768,214 = 16384,0. * 2 15,尾数决定数的有效精度。 阶码决定数的表示范围。,6-14、 设浮点数字长为32位,欲表示6万间的十进制数,在保证数的最大精 度条件下,除阶符、数符各取一位外,阶码和尾数各取几位?按这样分 配,该浮点数溢出的条件是什么? 解:若要保证数的最大精度,取基 = 2。 若要

12、表示6万间的十进制数,由于32768(215) +11111 该浮点数格式如下: 1 5 1 25,6-15、 什么是机器零? 若要求全0表示机器零,浮点数的阶码和尾数应采取什么机器数形式? 解:机器零指机器数所表示的零的形式。 它与真值零的区别是: 机器零在数轴上表示为“0”点及其附近的一段区域,即在计算机中小到 机器数的精度达不到的数均视为“机器零”; 而真零对应数轴上的一点(0点)。 若要求用“全0”表示浮点机器零,则阶码应用移码、尾数用补码表示P225 (此时阶码为最小阶、尾数为零,而移码的最小码值正好为全“0”, 补码的零的形式也为“0”,拼起来正好为一串0的形式)。,6-18、试比

13、较逻辑移位和算术移位。 解:逻辑移位和算术移位的区别: 逻辑移位是对逻辑数或无符号数进行的移位, 其特点是不论左移还是右移,空出位均补0,不考虑符号位。 算术移位是对带符号数进行的移位操作, 其关键规则是移位时符号位保持不变, 空出位的补入值与数的正负移位方向、采用的码制等有关。 补码、反码右移时具有符号延伸特性。 左移时可能产生溢出错误,右移时可能丢失精度。,原码运算中的移位为逻辑移位,右移时补零,不补符号位。 补码运算中的移位为算数移位,右移时前补符号位。,1,右移 添 1,左移 添 0,0,反 码,补 码,原 码,负数,0,原码、补码、反码,正数,添补代码,码 制,算术移位规则:符号位不

14、变,P235-236,6-17、设机器数字长为8位(包括一位符号位),对下列各机器数进行算术 左移一位、两位,算术右移一位、两位,讨论结果是否正确。,算术左移一位:x1原=0.011 0100; 正确 x2原=1.101 0000; 溢出(丢1)出错 x3原=1.011 0010; 正确 y1补=0.010 1000; 溢出(丢1)出错 y2补=1.101 0000; 正确 y3补=1.011 0010; 溢出(丢0)出错z1反=1.101 1111; 溢出(丢0)出错 z2反=1.101 0001; 正确 z3反=1.011 0011; 溢出(丢0)出错,x1原=0.001 1010; x2

15、原=1.110 1000; x3原=1.001 1001;y1补=0.101 0100; y2补=1.110 1000; y3补=1.001 1001;z1反=1.010 1111; z2反=1.110 1000; z3反=1.001 1001。,正数 最高位丢1 出错; 最低位丢1 影响精度。 P235-236 负数 原码:最高位丢1 出错, 最低位丢1 影响精度。补码:最高位丢0 出错, 最低位丢1 影响精度。反码:最高位丢0 出错, 最低位丢0 影响精度。,算术左移两位: x1原=0.110 1000;正确 x2原=1.010 0000;溢出(丢11)出错 x3原=1.110 0100;

16、正确 y1补=0.101 0000;溢出(丢10)出错 y2补=1.010 0000;正确 y3补=1.110 0100;溢出(丢00)出错 z1反=1.011 1111; 溢出(丢01)出错 z2反=1.010 0011; 正确 z3反=1.110 0111; 溢出(丢00)出错,x1原=0.001 1010; x2原=1.110 1000; x3原=1.001 1001;y1补=0.101 0100; y2补=1.110 1000; y3补=1.001 1001;z1反=1.010 1111; z2反=1.110 1000; z3反=1.001 1001。,正数 最高位丢1 出错; 最低位

17、丢1 影响精度。 P235-236 负数 原码:最高位丢1 出错, 最低位丢1 影响精度。补码:最高位丢0 出错, 最低位丢1 影响精度。反码:最高位丢0 出错, 最低位丢0 影响精度。,算术右移一位: x1原=0.000 1101;正确 x2原=1.011 0100;正确 x3原=1.000 1100;丢1,产生误差 y1补=0.010 1010;正确 y2补=1.111 0100;正确 y3补=1.100 1100;丢1,产生误差 z1反=1.101 0111; 正确 z2反=1.111 0100; 丢0,产生误差 z3反=1.100 1100; 正确,x1原=0.001 1010; x2

18、原=1.110 1000; x3原=1.001 1001;y1补=0.101 0100; y2补=1.110 1000; y3补=1.001 1001;z1反=1.010 1111; z2反=1.110 1000; z3反=1.001 1001。,正数 最高位丢1 出错; 最低位丢1 影响精度。 P235-236 负数 原码:最高位丢1 出错, 最低位丢1 影响精度。补码:最高位丢0 出错, 最低位丢1 影响精度。反码:最高位丢0 出错, 最低位丢0 影响精度。,算术右移两位: x1原=0.000 0110(10);产生误差 x2原=1.001 1010;正确 x3原=1.000 0110(0

19、1);产生误差 y1补=0.001 0101;正确 y2补=1.111 1010;正确 y3补=1.110 0110(01);产生误差 z1反=1.110 1011;正确 z2反=1.111 1010(00);产生误差 z3反=1.110 0110(01);产生误差,x1原=0.001 1010; x2原=1.110 1000; x3原=1.001 1001;y1补=0.101 0100; y2补=1.110 1000; y3补=1.001 1001;z1反=1.010 1111; z2反=1.110 1000; z3反=1.001 1001。,正数 最高位丢1 出错; 最低位丢1 影响精度。

20、 P235-236 负数 原码:最高位丢1 出错, 最低位丢1 影响精度。补码:最高位丢0 出错, 最低位丢1 影响精度。反码:最高位丢0 出错, 最低位丢0 影响精度。,6-25、对于尾数为40位的浮点数(不包括符号位在内),若采用不同的机 器数表示,试问当尾数左规或右规时,最多移位次数各为多少? 解:对于尾数为40位的浮点数, 尾数左规:符号位不变,数值位左移, 直到数值位最高位与符号位不同。 0 1 1 0 尾数若采用原码表示,当尾数左规时,最多移位39次; 尾数若采用反码表示,同原码; 尾数若采用补码表示,当尾数左规时,正数最多移位39次,同原码; 负数最多移位40次。 尾数右规:符号位和数值位右移一位,前补符号位。 不论采用何种码制,均只需右移1次。 0 01 1 10,参考下页,-0,-1/8,-1,-7/8,-7/8,-6/8,-3/8,-2/8,-1/8,+0,设机器数字长为 4位(其中位为符号位)对于小数,当其分别代表无符号数、原码、补码和反码时,对应的真值。,

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

当前位置:首页 > 中等教育 > 小学课件

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


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

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

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