《计算机组成课后习题答案.ppt》由会员分享,可在线阅读,更多相关《计算机组成课后习题答案.ppt(77页珍藏版)》请在第壹文秘上搜索。
1、13.8 设十进制数设十进制数X=(+128.75)2-10 (1)若若(Y)2=(X)10,用定点数表示用定点数表示Y值。值。(2)设用)设用21个二进制位表示浮点数,阶码个二进制位表示浮点数,阶码5位,其中位,其中阶符用阶符用1位;尾数用位;尾数用16位,其中符号用位,其中符号用1位。阶码底为位。阶码底为2。写出阶码和尾数均用原码表示的。写出阶码和尾数均用原码表示的Y的机器数。的机器数。(3)写出阶码和尾数均用反码表示的)写出阶码和尾数均用反码表示的Y的机器数。的机器数。(4)写出阶码和尾数均用补码表示的)写出阶码和尾数均用补码表示的Y的机器数。的机器数。解:解:(1)X=(1000000
2、0.11)2 2-10 =(0.001000000011)2 =(0.1000000011)2 2-22(2)(3)(4)尾尾符符阶阶符符阶阶码码尾尾数数原码原码010010100000001100000反码反码011101100000001100000补码补码01111010000000110000033.9 设机器字长设机器字长16位。定点表示时,数值位。定点表示时,数值15位,符号位位,符号位1位;浮点表示时,阶码位;浮点表示时,阶码6位,其中阶符位,其中阶符1位;尾数位;尾数10位,位,其中,数符其中,数符1位;阶码底为位;阶码底为2。试求:。试求:(1)定点原码整数表示时,最大正数,
3、最小负数各是)定点原码整数表示时,最大正数,最小负数各是 多少?多少?(2)定点原码小数表示时,最大正数,最小负数各是)定点原码小数表示时,最大正数,最小负数各是 多少?多少?(3)浮点原码表示时,最大浮点数和最小浮点数各是)浮点原码表示时,最大浮点数和最小浮点数各是 多少?绝对值最小的呢(非多少?绝对值最小的呢(非0)?估算表示的十进)?估算表示的十进 制值的有效数字位数制值的有效数字位数能够区分的绝对值最小的数值,也能够区分的绝对值最小的数值,也称为称为分辨率分辨率,体现数值,体现数值精度精度4解解:(1)定点原码整数)定点原码整数 最大正数最大正数 0111 (215-1)10 15 最
4、小负数最小负数 1111 -(215-1)10 15(2)定点原码小数定点原码小数 最大正数最大正数 0.111 (1-2-15)10 15 最小负数最小负数 1.111 -(1-2-15)10 15(3)原码浮点数)原码浮点数尾符尾符 阶符阶符 阶码阶码尾数尾数11595最大浮点数最大浮点数 0 0 11111 111111111 231(1-2-9) 最小浮点数最小浮点数 1 0 11111 111111111 (绝对值最大的负数绝对值最大的负数) -231(1-2-9) 绝对值最小浮点数绝对值最小浮点数 不规格化不规格化 0 1 11111 000000001 (正数为例正数为例) 2-
5、312-9 =2-40 规格化规格化 0 1 11111 100000000 2-312-1 =2-32有效数字:有效数字:9 位位2进制数进制数3 位位8进制数进制数2-10 10-31000110241(0.001)10 (0.0000000001)2即有效数字位数小于即有效数字位数小于363.18 用原码一位乘计算用原码一位乘计算X=0.1101,Y=-0.1011的积的积 XY解:解:部分积(乘积高位)寄存器:部分积(乘积高位)寄存器:A=00.0000被乘数寄存器被乘数寄存器 B=|X|=0.1101乘数乘数(乘积低位乘积低位)寄存器寄存器 C=|Y|=.10117步数步数 条件条件
6、 操作操作 A C Cn 00.0000 .1011 1 Cn=1 +|X| +00.1101 00.1101 00.0110 1.101 2 Cn=1 +|X| +00.1101 01.0011 00.1001 11.10 3 Cn=0 +0 +00.0000 00.1001 00.0100 111.1 4 Cn=1 +|X| +00.1101 01.0001 00.1000 1111.加符号位加符号位: X0 Y0=0 1=1结果:结果:X原原=1.10001111X=-0.1000111183.19 用补码一位乘计算用补码一位乘计算X=0.1010,Y=-0.0110的积的积 XY部分积
7、(乘积高位)寄存器:部分积(乘积高位)寄存器:A=00.0000被乘数寄存器被乘数寄存器 B=X补补=00.1010 -B=-X补补=-X补补=11.0110(补码意义上的相反数补码意义上的相反数)乘数乘数(乘积低位乘积低位)寄存器寄存器 C=Y补补=1.10109步数步数 条件条件 操作操作 A C CnCn+1 00.0000 1.10100 1 CnCn+1=00 +0 +00.0000 00.0000 00.0000 01.1010 2 CnCn+1=10 -X补补 +11.0110 11.0110 11.1011 001.101 3 CnCn+1=01 +X补补 +00.1010 0
8、0.0101 00.0010 1001.10 4 CnCn+1=10 -X补补 +11.0110 11.1000 11.1100 01001.1 5 CnCn+1=11 +0 +00.0000 11.1100 0100 XY补补=1.11000100 XY=-0.00111100103.20 X=-0.10110 ,Y=0.11111 用加减交替法原码一用加减交替法原码一位除计算位除计算X/Y的商及余数的商及余数被除数(余数)寄存器:被除数(余数)寄存器:A=|X|=00.10110除数寄存器除数寄存器 B=|Y|=00.11111 -B=11.00001商寄存器商寄存器 C=00000011
9、步数步数 条件条件 操作操作 A C 00.10110 000000 1(判溢出判溢出) -|Y| +11.00001 SA=1 11.10111 000000. 11.01110 00000.02 +|Y| +00.11111 SA=0 00.01101 00000.1 00.11010 0000.103 -|Y| +11.00001 SA=1 11.11011 0000.10 11.10110 000.1004 +|Y| +00.11111 SA=0 00.10101 000.101 01.01010 00.10105 -|Y| +11.00001 SA=0 00.01011 00.101
10、1 00.10110 0.1011012步数步数 条件条件 操作操作 A C 00.10110 0.101106 -|Y| +11.00001 SA=1 11.10111 0.10110 恢复余数恢复余数 +|Y| +00.11111 00.10110加符号位加符号位: X0 Y0=1 0=0结果:结果:X/Y原原=1.10110)11111. 0210110. 010110. 0(/5YX133.21 X=0.10110 ,Y=0.11111 用加减交替法补码一用加减交替法补码一位除计算位除计算X/Y的商及余数的商及余数被除数(余数)寄存器:被除数(余数)寄存器:A=X补补=00.10110
11、除数寄存器除数寄存器 B=Y补补=00.11111 -B=-Y补补=-Y补补=11.00001商寄存器商寄存器 C=0000014步数步数 条件条件 操作操作 A C(初始处理初始处理) 同号同号 00.10110 000000 1 -Y补补 +11.00001 异号异号 11.10111 000000. 11.01110 00000.02 +Y补补 +00.11111 同号同号 00.01101 00000.1 00.11010 0000.103 -Y补补 +11.00001 异号异号 11.11011 0000.10 11.10110 000.1004 +Y补补 +00.11111 同号同
12、号 00.10101 000.101 01.01010 00.10105 -Y补补 +11.00001 同号同号 00.01011 00.1011 00.10110 0.1011015步数步数 条件条件 操作操作 A C 00.10110(末位恒置末位恒置1) -Y补补 +11.00001 0.10111 11.10111恢复余数恢复余数 +Y补补 +00.11111 0.10111 00.1011011111. 0210110. 010111. 0/5YX补码商:补码商: 0.10111补码余数:补码余数:0.1011010-5 真值:真值:163.25 设浮点数设浮点数X,Y,阶码(补码形
13、式)和尾数(原码)阶码(补码形式)和尾数(原码)形式如下:形式如下:X:阶码阶码0001,尾数,尾数0.1010;Y:阶码阶码1111,尾数,尾数0.1001。设基数为设基数为2(1)求)求X+Y(阶码运算用补码,尾数运算用补码)阶码运算用补码,尾数运算用补码)(2)求)求X*Y(阶码运算用移码,尾数运算用原码)阶码运算用移码,尾数运算用原码)(3)求)求X/Y(阶码运算用移码,尾数运算用原码加减阶码运算用移码,尾数运算用原码加减交替法)交替法)17(1)求)求X+Y(阶码运算用补码,尾数运算用补码)阶码运算用补码,尾数运算用补码)(a)对阶对阶 阶差阶差E=EX补补+ -EY补补=00001
14、+00001 =00010(2) X 阶码大阶码大,MY右移右移2位,保留阶码位,保留阶码E=00001 MY补补=00001001(b)尾数相加尾数相加 MX补补+MY补补=001010+00001001 =00110001(c)规格化操作规格化操作 不变不变(d)舍入(舍入(0舍舍1入)入) MX补补=001100,M=0.1100(e)判溢出判溢出 不溢出,得最终结果不溢出,得最终结果 X+Y=2001(0.1100)18(2)求)求X*Y(阶码运算用移码,尾数运算用原码)阶码运算用移码,尾数运算用原码)(a)阶码运算阶码运算 EX+EY移移=EX移移+EY补补=01001+11111=
15、01000 即即 EX+EY=0(b)即即 MX=0.1010 MY=0.1001 求求MXMY=?A=00.0000B=|MX|=00.1010C=|MY|=.100119步数步数 条件条件 操作操作 A C Cn 00.0000 .1001 1 Cn=1 +|X| +00.1010 00.1010 00.0101 0.100 2 Cn=0 +0 +00.0000 00.0101 00.0010 10.10 3 Cn=0 +0 +00.0000 00.0010 00.0010 010.1 4 Cn=1 +|X| +00.1010 00.1011 00.0101 1010.加符号位加符号位:
16、MX0 MY0=0 0=0结果:结果: MXMY =0.0101101020(c) 规格化处理规格化处理 左规,移左规,移1位,结果位,结果=0.1011010; 阶码阶码-1,E=-1(d) 舍入处理舍入处理得结果:得结果:XY=2-1(0.1011)(3)求)求X/Y(阶码运算用移码,尾数运算用原码加减阶码运算用移码,尾数运算用原码加减交替法)交替法)(a)阶码运算阶码运算 EX-EY移移=EX移移+-EY补补=01001+00001=01010 即即 EX-EY=2(b)即即 MX=0.1010 MY=0.1001 求求MX/MY=?A=|MX|=00.1010 C=00000B= |MY|=00.1001 -B=11.0111(补码意义上的相反数)补码意义上的相反数)21步数步数 条件条件 操作操作 A C 00.1010 00000 1(判溢出判溢出) -|Y| +11.0111 SA=0 00.0001 00001. 00.0010 0001.02 -|Y| +11.0111 SA=1 11.1001 0001.0 11.0010 001.003 +|Y| +00.1001