《2022年2022年计算机组成原理第六章答案培训资料 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年计算机组成原理第六章答案培训资料 .pdf(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计 算 机 组 成 原 理 第 六章 答 案 54731名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 12 页 - - - - - - - - - 精品文档收集于网络,如有侵权请联系管理员删除第 6 章 计算机的运算方法2. 已知 X=0.a1a2a3a4a5a6 (ai 为 0 或 1),讨论下列几种情况时ai 各取何值。(1)21X(2)81X(3)161X41解: (1)若要21X,只要 a1=1,a2a6不全为 0 即可。(2)若要81X,只要 a1a3不全为
2、0 即可。(3)若要161X41,只要 a1=0,a2可任取 0 或 1;当 a2=0 时,若 a3=0,则必须 a4=1,且 a5、a6不全为 0;若 a3=1,则 a4a6可任取 0 或 1;当 a2=1 时, a3a6均取 0。3. 设 x 为整数, x补=1,x1x2x3x4x5 ,若要求 x -16,试问 x1x5 应取何值?解:若要 x -16,需 x1=0,x2x5 任意。(注:负数绝对值大的补码码值反而小。)4. 设机器数字长为8位(含 1 位符号位在内),写出对应下列各真值的原码、补码和反码。 -13/64,29/128,100,-87 解:真值与不同机器码对应关系如下:真值
3、-13/64 29/128 100 -87 二进制-0.001101 0.0011101 1100100 -1010111 原码1.001 1010 0.001 1101 0110 0100 1101 0111 补码1.1100110 0.001 1101 0110 0100 10101001 反码1.1100101 0.001 1101 0110 0100 10101000 5. 已知 x补,求x原和 x。 x1补=1.1100; x2补=1.1001; x3补=0.1110; x4补=1.0000; x5补=1,0101; x6补=1,1100; x7补=0,0111; x8补=1,000
4、0; 解: x补与x原、x 的对应关系如下:x补1.1100 1.1001 0.1110 1.0000 1,0101 1,1100 0,0111 1,0000 x原1.0100 1.0111 0.1110 无1,1011 1,0100 0,0111 无x -0.0100 -0.0111 0.1110 -1 -1011 -100 0,0111 -10000 6.设机器数字长为8 位(含 1 位符号位在内),分整数和小数两种情况讨论真值x 为何值时, x补=x原成立。解:当 x 为小数时,若x 0,则 x补=x原成立;若 x 0,当 x= -1/2 时, x补=x原=1.100 0000,则 x补
5、=x原成立。当 x 为整数时,若x 0,则 x补=x原成立;若 x 0,当 x= -64 时,x补=x原=1,100 0000,则 x补=x原成立。7.设 x 为真值, x* 为绝对值,说明 -x*补=-x补能否成立。解:当 x 为真值, x*为绝对值时, -x*补=-x补不能成立。原因如下:(1)当 xy补,是否有xy?解:若 x补y补,不一定有xy。 x 补 y 补时 x y 的结论只在 x 0 且 y 0,及 x0 且 y0、 yy,但则 x补y补;同样,当x0时,有 x y补。9. 当十六进制数9B 和 FF 分别表示为原码、补码、反码、移码和无符号数时,所对应的十进制数各为多少(设机
6、器数采用一位符号位)?解:真值和机器数的对应关系如下:9BH 原码补码反码移码无符号数对应十进制数-27 -101 -100 +27 155 FFH 原码补码反码移码无符号数对应十进制数-128 -1 -0 +128 256 10. 在整数定点机中,设机器数采用1 位符号位,写出 0 的原码、补码、反码和移码,得出什么结论?解: 0 的机器数形式如下:(假定机器数共8 位,含 1 位符号位在内)真值原码补码反码移码+0 0 000 0000 0 000 0000 0 000 0000 1 000 0000 -0 1 000 0000 0 000 0000 1 111 1111 1 000 00
7、00 结论: 0 的原码和反码分别有+0 和-0 两种形式,补码和移码只有一种形式,且补码和移码数值位相同,符号位相反。11. 已知机器数字长为4 位(含 1 位符号位),写出整数定点机和小数定点机中原码、补码和反码的全部形式,并注明其对应的十进制真值。整数定点机小数定点机原码补码反码真值原码补码反码真值0,000 0,000 0,000 +0 0.000 0.000 0.000 +0 0,001 0,001 0,001 1 0.001 0.001 0.001 0.125 0,010 0,010 0,010 2 0.010 0.010 0.010 0.250 0,011 0,011 0,011
8、 3 0.011 0.011 0.011 0.375 0,100 0,100 0,100 4 0.100 0.100 0.100 0.500 0,101 0,101 0,101 5 0.101 0.101 0.101 0.625 0,110 0,110 0,110 6 0.110 0.110 0.110 0.750 0,111 0,111 0,111 7 0.111 0.111 0.111 0.875 1,000 0,000 1,111 -0 1.000 0.000 1.111 -0 1,001 1,111 1,110 -1 1.001 1.111 1.110 -0.125 1,010 1,1
9、10 1,101 -2 1.010 1.110 1.101 -0.250 1,011 1,101 1,100 -3 1.011 1.101 1.100 -0.375 1,100 1,100 1,011 -4 1.100 1.100 1.011 -0.500 1,101 1,011 1,010 -5 1.101 1.011 1.010 -0.625 1,110 1,010 1,001 -6 1.110 1.010 1.001 -0.750 1,111 1,001 1,000 -7 1.111 1.001 1.000 -0.875 无1,000 无-8 无1.000 无-1 12. 设浮点数格式为
10、:阶码5 位(含 1 位阶符),尾数11位(含 1 位数符)。写出51/128、-27/1024、7.375、-86.5所对应的机器数。要求如下:(1)阶码和尾数均为原码。(2)阶码和尾数均为补码。(3)阶码为移码,尾数为补码。解:据题意画出该浮点数的格式:阶符 1 位阶码 4 位数符 1 位尾数 10 位将十进制数转换为二进制:x1= 51/128= 0.0110011B= 2-1 * 0.110 011B x2= -27/1024= -0.0000011011B = 2-5*(-0.11011B ) x3=7.375=111.011B=23*0.111011B x4=-86.5=-1010
11、110.1B=27*(-0.10101101B) 则以上各数的浮点规格化数为:(1)x1 浮=1,0001;0.110 011 000 0 x2 浮 =1,0101;1.110 110 000 0 x3 浮 =0,0011;0.111 011 000 0 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 12 页 - - - - - - - - - 精品文档收集于网络,如有侵权请联系管理员删除 x4 浮 =0,0111;1.101 011 010 0 (2)x1 浮=1,1
12、111;0.110 011 000 0 x2 浮 =1,1011;1.001 010 000 0 x3 浮 =0,0011;0.111 011 000 0 x4 浮 =0,0111;1.010 100 110 0 (3)x1 浮=0,1111;0.110 011 000 0 x2 浮 =0,1011;1.001 010 000 0 x3 浮 =1,0011;0.111 011 000 0 x4 浮=1,0111;1.010 100 110 0 13. 浮点数格式同上题,当阶码基值分别取2 和 16时:(1)说明 2和 16 在浮点数中如何表示。(2)基值不同对浮点数什么有影响?(3)当阶码和尾
13、数均用补码表示,且尾数采用规格化形式,给出两种情况下所能表示的最大正数和非零最小正数真值。解:( 1)阶码基值不论取何值,在浮点数中均为隐含表示,即:2 和 16不出现在浮点格式中,仅为人为的约定。(2)当基值不同时,对数的表示范围和精度都有影响。即:在浮点格式不变的情况下,基越大,可表示的浮点数范围越大,但浮点数精度越低。(3)r=2 时,最大正数的浮点格式为:0,1111;0.111 111 111 1 其真值为: N+max=215 (1-2-10) 非零最小规格化正数浮点格式为:1,0000;0.100 000 000 0 其真值为: N+min=2-16 2-1=2-17r=16 时
14、,最大正数的浮点格式为:0,1111;0.1111 1111 11 其真值为: N+max=1615 (1-2-10)非零最小规格化正数浮点格式为:1,0000;0.0001 0000 00 其真值为: N+min=16-16 16-1=16-1714. 设浮点数字长为32位,欲表示 6 万间的十进制数,在保证数的最大精度条件下,除阶符、数符各取1 位外,阶码和尾数各取几位?按这样分配,该浮点数溢出的条件是什么?解:若要保证数的最大精度,应取阶码的基值=2。若要表示 6 万间的十进制数,由于32768(215) 6 万 65536(216),则:阶码除阶符外还应取5 位(向上取2 的幂)。故:
15、尾数位数 =32-1-1-5=25 位 25(32)该浮点数格式如下:阶符( 1 位)阶码( 5位)数符( 1位)尾数( 25位)按此格式,该浮点数上溢的条件为:阶码2515. 什么是机器零?若要求全0 表示机器零,浮点数的阶码和尾数应采取什么机器数形式?解:机器零指机器数所表示的零的形式,它与真值零的区别是:机器零在数轴上表示为“0”点及其附近的一段区域,即在计算机中小到机器数的精度达不到的数均视为“ 机器零 ” ,而真零对应数轴上的一点(0 点)。若要求用 “ 全 0” 表示浮点机器零,则浮点数的阶码应用移码、尾数用补码表示(此时阶码为最小阶、尾数为零,而移码的最小码值正好为“0”,补码的
16、零的形式也为 “0”,拼起来正好为一串0 的形式)。16设机器数字长为16 位,写出下列各种情况下它能表示的数的范围。设机器数采用一位符号位,答案均用十进制表示。(1)无符号数;(2)原码表示的定点小数。(3)补码表示的定点小数。(4)补码表示的定点整数。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 12 页 - - - - - - - - - 精品文档收集于网络,如有侵权请联系管理员删除(5)原码表示的定点整数。(6)浮点数的格式为:阶码6 位(含 1 位阶符),尾数
17、10位(含 1 位数符)。分别写出其正数和负数的表示范围。(7)浮点数格式同(6),机器数采用补码规格化形式,分别写出其对应的正数和负数的真值范围。解:( 1)无符号整数: 0 216 - 1,即: 0 65535;无符号小数: 0 1 - 2-16,即: 0 0.99998;(2)原码定点小数:-1 + 2-151 - 2-15,即: -0.999970.99997 (3)补码定点小数:- 11 - 2-15,即: -10.99997 (4)补码定点整数:-215215 - 1 ,即: -3276832767 (5)原码定点整数:-215 + 1215 - 1,即: -3276732767
18、(6)据题意画出该浮点数格式,当阶码和尾数均采用原码,非规格化数表示时:最大负数 = 1,11 111;1.000 000 001 ,即 -2-92-31最小负数 = 0,11 111;1.111 111 111,即 -(1-2-9) 231则负数表示范围为:-(1-2-9) 231 -2-92-31最大正数 = 0,11 111;0.111 111 111,即 (1-2-9) 231最小正数 = 1,11 111;0.000 000 001,即 2-92-31则正数表示范围为:2-92-31 (1-2-9) 231(7)当机器数采用补码规格化形式时,若不考虑隐藏位,则最大负数 =1,00 0
19、00;1.011 111 111,即 -2-12-32最小负数 =0,11 111;1.000 000 000,即 -1 231则负数表示范围为:-1 231 -2-12-32最大正数 =0,11 111;0.111 111 111,即 (1-2-9) 231最小正数 =1,00 000;0.100 000 000,即 2-12-32则正数表示范围为:2-12-32 (1-2-9) 23117. 设机器数字长为8 位(包括一位符号位),对下列各机器数进行算术左移一位、两位,算术右移一位、两位,讨论结果是否正确。x1原=0.001 1010;y1补=0.101 0100;z1反=1.010 11
20、11;x2原=1.110 1000;y2补=1.110 1000;z2反=1.110 1000;x3原=1.001 1001;y3补=1.001 1001;z3反=1.001 1001。解:算术左移一位: 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
21、.110 1000;正确x2原=1.010 0000;溢出(丢11)出错x3原=1.110 0100;正确y1补=0.101 0000;溢出(丢10)出错y2补=1.010 0000;正确y3补=1.110 0100;溢出(丢00)出错名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 12 页 - - - - - - - - - 精品文档收集于网络,如有侵权请联系管理员删除z1反=1.011 1111;溢出(丢01)出错z2反=1.010 0011;正确z3反=1.110
22、0111;溢出(丢00)出错算术右移一位: x1原=0.000 1101;正确x2原=1.011 0100;正确x3原=1.000 1100(1);丢 1,产生误差y1补=0.010 1010;正确y2补=1.111 0100;正确y3补=1.100 1100(1);丢 1,产生误差z1反=1.101 0111;正确z2反=1.111 0100(0);丢 0,产生误差z3反=1.100 1100;正确算术右移两位: x1原=0.000 0110(10);产生误差x2原=1.001 1010;正确x3原=1.000 0110(01);产生误差y1补=0.001 0101;正确y2补=1.111
23、1010;正确y3补=1.110 0110(01);产生误差z1反=1.110 1011;正确z2反=1.111 1010(00);产生误差z3反=1.110 0110(01);产生误差18. 试比较逻辑移位和算术移位。解:逻辑移位和算术移位的区别:逻辑移位是对逻辑数或无符号数进行的移位,其特点是不论左移还是右移,空出位均补0,移位时不考虑符号位。算术移位是对带符号数进行的移位操作,其关键规则是移位时符号位保持不变,空出位的补入值与数的正负、移位方向、采用的码制等有关。补码或反码右移时具有符号延伸特性。左移时可能产生溢出错误,右移时可能丢失精度。19. 设机器数字长为8 位(含 1 位符号位)
24、,用补码运算规则计算下列各题。(1)A=9/64, B=-13/32 ,求 A+B 。(2)A=19/32,B=-17/128 ,求 A-B。(3)A=-3/16,B=9/32,求 A+B 。(4)A=-87,B=53 ,求 A-B 。(5)A=115,B=-24,求 A+B 。解:( 1)A=9/64= 0.001 0010B, B= -13/32= -0.011 0100B A 补=0.001 0010, B 补=1.100 1100 A+B 补= 0.0010010 + 1.1001100 = 1.1011110 无溢出A+B= -0.010 0010B = -17/64 (2)A=19
25、/32= 0.100 1100B, B= -17/128= -0.001 0001B A 补=0.100 1100, B 补=1.110 1111 , -B 补=0.001 0001 A-B 补= 0.1001100 + 0.0010001= 0.1011101 无溢出 A-B= 0.101 1101B = 93/128B (3)A= -3/16= -0.001 1000B, B=9/32= 0.010 0100B A 补=1.110 1000, B 补 = 0.010 0100 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - -
26、名师精心整理 - - - - - - - 第 6 页,共 12 页 - - - - - - - - - 精品文档收集于网络,如有侵权请联系管理员删除 A+B 补= 1.1101000 + 0.0100100 = 0.0001100 无溢出A+B= 0.000 1100B = 3/32 (4) A= -87= -101 0111B, B=53=110 101B A 补=1 010 1001, B 补=0 011 0101, -B 补=1 100 1011 A-B 补= 1 0101001 + 1 1001011 = 0 1110100 溢出(5)A=115= 111 0011B, B= -24=
27、 -11 000B A 补=0 1110011, B 补 =1,110 1000 A+B 补= 0 1110011 + 1 1101000 = 0 1011011 无溢出 A+B= 101 1011B = 91 20. 用原码一位乘、两位乘和补码一位乘(Booth 算法)、两位乘计算x y。(1)x= 0.110 111,y= -0.101 110;(2)x= -0.010 111 ,y= -0.010 101;(3)x= 19 ,y= 35;(4)x= 0.110 11,y= -0.111 01。解:先将数据转换成所需的机器数,然后计算,最后结果转换成真值。(1)x原=0.110111,y原
28、=1.101110,x*=0.110111 , y*=0.101110 原码一位乘:部分积乘数 y* 说明0.000 000 +0.000 000 101 110 部分积初值为0,乘数为 0 加 0 0.000 000 0.000 000 +0.110 111 010 111 右移一位乘数为 1,加上 x* 0.110 111 0.011 011 +0.110 111 101 011 右移一位乘数为 1,加上 x* 1.010 010 0.101 001 +0.110 111 010 101 右移一位乘数为 1,加上 x* 1.100 000 0.110 000 +0.000 000 001
29、010 右移一位乘数为 0,加上 0 0.110 000 0.011 000 +0.110 111 000 101 右移一位乘数为 1,加上 x* 1.001 111 0.100 111 100 010 右移一位即 x* y*=0.100 111 100 010 ,z0=x0 y0=0 1=1,x y原=1.100 111 100 010,x y= -0. 100 111 100 010 原码两位乘: -x*补=1.001 001,2x*=1.101 110部分积乘数 y* Cj说明000 . 000 000 +001 . 101 110 00 101 110 0 部分积初值为0,Cj=0 根
30、据 yn-1ynCj=100,加 2x* ,保持 Cj=0 001 . 101 110 0 000 . 011 011 +111 . 001 001 10 001 011 10 001 011 0 右移 2 位根据 yn-1ynCj=110,加 -x*补,置 Cj=1 111 . 100 100 111 . 111 001 +111 . 001 001 00 100 010 1 右移 2 位根据 yn-1ynCj=101,加 -x*补,置 Cj=1 111 . 000 010 111 . 110 000 +000 . 110 111 10 001 000 1 右移 2 位根据 yn-1ynCj
31、=001,加 x*,保持 Cj=0 000 . 100 111 10 001 0 即 x* y*=0.100 111 100 010 ,z0=x0 y0=0 1=1,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 12 页 - - - - - - - - - 精品文档收集于网络,如有侵权请联系管理员删除x y原=1.100 111 100 010,x y= -0. 100 111 100 010 补码一位乘: x补=0.110111,-x补=1.001001,y补=1.0
32、10010部分积乘数Yn+1说明 00 . 000 000 00 . 000 000 +11 . 001 001 1 010 010 0 101 001 0 0 Ynyn+1=00,部分积右移1 位Ynyn+1=10,部分积加 -x补 11 . 001 001 右移 1 位 11 . 100 100 +00 . 110 111 1 010 100 1 Ynyn+1=01,部分积加 x补 00 . 011 011 右移 1 位 00 . 001 101 00 . 000 110 +11 . 001 001 1 101 010 1 110 101 0 0 Ynyn+1=00,部分积右移1 位Yny
33、n+1=10,部分积加 -x补 11 . 001 111 右移 1 位 11 . 100 111 +00 . 110 111 1 111 010 1 Ynyn+1=01,部分积加 x补 00 . 011 110 00 . 001 111 +11 . 001 001 0 111 101 0 右移 1 位Ynyn+1=10,部分积加 -x补 11 . 011 000 0 111 10 即 x y补=1.011 000 011 110,x y= -0.100 111 100 010 补码两位乘:2x 补=001.101110,2-x 补=1.001001 部分积乘数Yn+1说明结果同补码一位乘, x
34、 y= -0. 100 111 100 010 00 21. 用原码加减交替法和补码加减交替法计算x y。(1)x=0.100111,y=0.101011;(2)x=-0.10101, y=0.11011;(3)x=0.10100 , y= -0.10001;(4)x=13/32, y= -27/32。解:( 1)x*=x 原=x 补=x= 0.100 111 y*=y 原=y 补=y= 0=0 y0=0 0.101 011 -y* 补=-y 补=1.010 101 q0=x0 y 原=0.111 010 r*=0.000 0102-6=0.000 000 000 010 y*=xy=x*x
35、计算过程如下:原码加减交替除法:被除数(余数)商 0 . 1 0 0 1 1 1 0 . 0 0 0 0 0 0 + 1 . 0 1 0 1 0 1 试减, +-y*补 1 . 1 1 1 1 0 1 . 1 1 1 0 0 0 0 . + 0 . 1 0 1 0 1 1 0 1 r0, +-y* 补 0 . 0 1 1 0 1 1 1 0 . 1 1 0 1 1 0 0.1 1 + 1 . 0 1 0 1 0 1 r0, +-y* 补 0 . 0 0 1 0 1 1 0 .续:被除数(余数)商 1 0 1 0 1 1 0 0 . 1 1 1 + 1 . 0 1 0 1 0 1 r0, 1 .
36、 0 1 0 1 1 0 0.1 1 1 0 +-y* 补 1 . 1 0 1 0 1 1 1 + 0 . 1 0 1 0 1 1 r0 , 0.1 1 1 0 1 0 + 0 . 1 0 1 0 1 1 +-y* 补 1 . 0 1 0 1 1 1 1 r0,+y* (恢复余数) 0 . 0 0 0 0 1 0 补码加减交替除法:被除数(余数)商 0 0 . 1 0 0 1 1 1 0 . 0 0 0 0 0 0 + 1 1 . 0 1 0 1 0 1 1 . 1 1 1 0 0 0 1 试减, x、y 同号, +-y 补 1 1 . 1 1 1 1 0 0 1 0 . + 0 0 . 1
37、0 1 0 1 1 r、y 异号, +y 补 0 0 0 1 . 0 0 0 1 1 0 0.1 + 1 1 . 0 1. 1 0 0 0 1 1 1 0 0 . 1 1 00 1 0 1 r、y 同号, +-y 补 0 0 . 0 1 1 0 1 1 1 1 1 0 0.1 1 + 1 1 . 0 1 0 1 0 1 r、y 同号, +-y 补 0 0 . 0 0 1 0 1 1 0 0 . 0 1 0 续:被除数(余数)商 1 1 1 0 0 . 1 1 1 + 1 1 . 0 1 0 1 0 1 r、y 同号, +-y 补 1 1 . 0 1 0 1 1 0 0.1 1 1 0 + 1
38、1 . 1 0 1 0 1 1 1 0 0 . 00 0 . 1 0 1 0 1 1 r、y 异号, +y 补 0 0 . 0 0 0 0 0 1 1 0 0 0 1 0 0.1 1 1 0 1 + 1 1 . 0 1 0 1 0 1 r、y 同号, 0.1 1 1 0 1 1 恒置 1 + 0 0 . 1 0 1 +-y 补 1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 12 页 - - - - - - - - - 精品文档收集于网络,如有侵权请联系管理员删除1
39、. 0 1 0 1 1 1 1 0 1 1 r、x异号,(恢复余数) 0 0 . 0 0 0 0 1 0 且 r、y异号, +y 补 y补= 0.111 011 r6 补=0.000 010,r=r*=0.000 000 000 010y=x注:恒置 1 引入误差。 x (2)x= -0.101 01,y=0.110 11 x 原=1.101 01 x*= 0.101 01 y* = y 原 = y 补= y = 0.110 11 -y* 补= -y 补= 1.001 01 x 补= 1.010 11 y y原=1.110 00 x y*= 0.110 00 x 0 = 1 x* y0 = 1
40、 q0 = x0 = -0.110 00 r*=0.110 002-5 =0.000 001 100 0 计算过程如下:原码加减交替除法:被除数(余数)商 0 . 1 0 1 0 1 0 . 0 0 0 0 0 + 1 . 0 0 1 0 1 试减, +-y*补 1 . 1 1 0 1 0 1 1 . 1 0 1 0 0 0 . + 0 . 1 1 0 1 1 r 0 . 0 00, +-y* 补 0 . 0 0 0 1 1 1 1 1 0 0.1 1 + 1 . 0 0 1 0 1 r0 ,+-y* 补 1 . 0 1 0 1 1 0 . 1 0 1 1 0 续:被除数(余数)商 1 0 .
41、 1 1 0 + 0 . 1 1 0 1 1 r0, +y* 1 . 1 0 0 0 1 . 0 0 0 1 0 0.1 1 0 0 + 0 . 1 1 0 1 1 1 1 r 0.1 1 0 0 0 + 0 . 1 1 0 1 1 0,+y* 1 . 1 1 1 0 1 1 r0, +-y* 补 1 . 1 0 1 0 1 1 . 0 1 0 1 0 1.0 + 0 . 1 0 1 0 0 1 r 1 . 1 0 1 1 0 0, +y* 1 . 1 1 0 1 1 1 1.0 0 + 0 . 1 0 0 0 1 r 1 . 1 10, +-y* 补 1 . 1 1 1 0 1 1 0 1
42、0 1.0 0 1 0 + 0 . 1 0 0 0 1 r0,结束注:当 x*y* 时产生溢出,这种情况在第一步运算后判断r 的正负时就可发现。此时数值位占领小数点左边的1位,原码无定义,但算法本身仍可正常运行。补码加减交替除法:被除数(余数)商 0 0 . 1 0 1 0 0 0 . 0 0 0 0 0 + 1 0 0 . 0 0 1 1 . 0 1 1 1 1 试减, x、y 异号, +y 补 0 0 . 0 0 0 1 1 1 1 0 0 . + 1 1 . 0 1 1 1 1 r、y 异号, +y 补 1 1 . 0 1 0 1 0 0.1 + 0 0 . 1 1 . 1 0 1 0
43、1 1 1 1 . 1 0 11 0 0 0 1 r、y同号, +-y 补 1 1 . 1 1 0 1 1 1 1 0 0.1 1 + 0 0 . 1 0 0 0 1 r、y 同号, +-y 补 0 0 . 0 0 1 1 1 0 0 . 0 1 1 1 0 续:被除数(余数)商 1 0 . 1 1 0 + 1 1 . 0 1 1 1 1 r、y 异号, +y 补 1 1 . 1 1 . 1 1 0 1 0 0.1 1 0 1 + 0 0 . 1 0 0 01 1 1 0 1 1 0.1 1 0 1 1 恒置 1 1 r、y 同号, +-y补 0 0 . 0 1 0 1 1 1 r、x 同号,
44、结束 r5 补=0.010 11,r=r*=0.000 000 101 1 y= -1.001 01 判溢出: qf y补=10.110 11,x 1 = 1 x y0 = 0 真符位的产生:qf = x0 0 = 1 ,溢出q0 = 1 注:由于本题中x*y* ,有溢出。除法运算时一般在运算前判断是否x* y* ,如果该条件成立则停止运算,转溢出处理。但此算法本身在溢出情况下仍可正常运行,此时数值位占领小数点左边的1 位,商需设双符号位(变形补码),以判溢出。采用这种方法时运算前可不判溢出,直接进行运算,运算完后再判溢出。(4)x=13/32= (0.011 01)2 y= -27/32=
45、(-0.110 11)2 x*= x 原= x 补= x=0. 011 01 y 原 = 1.110 11 y* = 0.110 11 -y* 补=1.001 01 y 补= 1.001 01 y*= 0.011 11 1 = 1 x* y0 = 0 -y 补= 0.110 11 q0 = x0 y =(-0.011 11)2 = -15/32 r*=0.010 112-5 y原=1.011 11 x x =0.000 000 101 1 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - -
46、第 9 页,共 12 页 - - - - - - - - - 精品文档收集于网络,如有侵权请联系管理员删除原码加减交替除法:被除数(余数)商 0 . 0 1 1 0 1 0 . 0 0 0 0 0 + 1 . 0 0 1 0 1 试减, +-y*补 1 . 1 0 0 1 . 0 0 1 0 0 0 . 1 0 1 + 0 . 1 1 0 1 1 r0, +y* 1 . 1 1 1 1 1 1 . 1 1 1 1 0 0.0 + 0 . 1 1 0 1 1 1 r0, +-y* 补 0 . 1 0 1 1 1 1 . 0 1 1 1 0 0 . 0 1 1 续:被除数(余数)商 1 + 1 .
47、 0 0 1 0 1 r 1 . 0 00, +-y* 补 0 . 1 0 0 1 1 1 1 1 0 0.0 1 1 1 + 1 . 0 0 1 0 1 r0 , +-y* 补 0.0 1 1 1 1 r 0 . 0 1 0 1 1 10, 结束补码加减交替除法:被除数(余数)商 0 0 . 0 1 1 0 1 0 . 0 0 0 0 0 + 1 1 . 0 0 1 0 1 试减, x、y 异号, +y 补 1 1 . 1 0 0 1 0 1 1 1 . 0 0 1 0 0 1 . + 0 0 . 1 1 0 1 1 1 1 . 1 1 1 1 0 r、y 同号, +-y 补 1 1 . 1
48、 1 1 1 1 1 1.1 + 0 0 . 1 1 0 1 1 r、y 同号, +-y 补 0 0 . 1 1 0 0 1 0 1 . 1 0 0 1 0 1.1 0 + 1 1 . 0 0 1 0 1 1 r、y 异号, +y 补 0 0 . 1 0 1 1 1 0 1续:被除数(余数)商 1 . 0 1 1 1 0 1 . 1 0 0 + 1 1 . 0 0 1 0 1 r、y 异号, 0 1 . 0 0 1 1 0 1.1 0 0 0 +y 补 0 0 . 1 0 0 1 1 1 1.1 0 1 1 . 0 0 1 0 1 r、y 异号, +y 补 0 0 . 0 1 0 1 1 1
49、0 0 1 恒置 1 r、x同号,结束 r 补=0.010 y=(-0.011 11)2 = -15/32 y补=1.100 01,x 11,r=r*=0.000 000 101 1 x 26.按机器补码浮点运算步骤,计算x y补. (1)x=2-011 0.101 100,y=2-010 (-0.011 100);(2)x=2-011 (-0.100 010), y=2-010 (-0.011 111);(3)x=2101 (-0.100 101), y=2100 (-0.001 111)。解:先将 x、y 转换成机器数形式:(1)x=2-011 0.101 100,y=2-010 (-0.
50、011 100)x补=1,101;0.101 100, y 补=1,110;1.100 100 Ex 补=1,101, y 补=1,110, Mx 补 =0.101 100, My 补=1.100 100 1)对阶: E补=Ex 补+-Ey 补 = 11,101+ 00,010=11,111 0,应 Ey 向 Ex 对齐,则:Ey 补+1=00,100+00,001=00,101=Ex 补y 补=0,101;1.111 000(1)2)尾数运算: Mx 补+My 补= 11.011011+ 11.111000(1)= 11.010011(1) Mx 补+-My 补= 11.011011+ 00