[X]补=00.0111 [Y]补=00.1101 [- |Y|]补=11.0011被除数/余数+00.011111.001111.101011.010000.110100.000100.001011.001111.010110.101000.110111.011110.1110商Q0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 10 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 1 操作说明
+++[X]补与[Y]补同号+[-Y]补[R0]补与[Y]补异号,上商0左移一位+[Y]补[R1]补与[Y]补同号,上商1左移一位+[-Y]补[R2]补与[Y]补异号,上商0左移一位+[Y]补[R3]补与[Y]补异号,上商0左移一位,末位置1
所以 [Q]补=0.1001 [R]补=0.00001110
(2)[Qs]补= 1.0011 ; [R]补=0.00001100
4.8 设浮点数的格式为:阶码5位,尾数6位,均用补码表示,请计算X+Y和X-Y。(阶码和尾数 均用补码计算)。 (1) X= -1.625,Y=5.25 (2) X=15/64,Y= -29/256 答:(1)
513X?(?1.625)10?(?1)10?(?)10?(?0.1101?201)288121Y?(5.25)10?(5)10?()10?(0.10101?211)244假设Z=X+Y,X+Y的计算过程如下:
注意:参见P139的原理和P141中例4.13。 1、 对阶
?E?EX?EY?[EX]布+[?EY]布=00,0001+111101,=111110,?E?0,所以EX?EY,需要把MX右2位,即EX+2[X]布?00,001111.11001(10)2、 尾数相加
16
[MX]布+[MY]布11.1100100.10101
----------[MX+MY]布00.01110[MZ]布?00.01110(10)3、 结果规格化
左归一位,阶码减1;结果无溢出 此时的阶码和尾数为:
[EZ]布?00,0011+111111,=00,0010[MZ]布?00.11101(0)4、 舍入
按照0舍1入法对尾数进行舍入,结果为:
[Z]布?0,00100.11101
假设Z=X-Y,其计算过程如下: 1、对阶
?E?EX?EY?[EX]布+[?EY]布=00,0001+111101,=111110,?E?0,所以EX?EY,需要把MX右2位,即EX+2[X]布?00,001111.11001(10)2、尾数相减
[MX]布+[?MY]布11.1100111.01011
----------[MX?MY]布11.00100[MZ]布?11.00100(10)3、结果规格化
结果的尾数已经是规格化形式,并且无溢出,因此无需规格化 4、舍入
按照0舍1入发对尾数进行舍入,结果为:
[Z]布?0,00111.00101
17
(2) [X+Y]补 =1,1101 0.11111; X+Y=0.11111×2 [X-Y]补 =1,1111 0.10110; X-Y=0.101102
4.9 设浮点数的格式为:阶码5位,用移码表示,尾数6位,用补码表示,请计算X*Y和X/Y(阶码用移码计算,尾数用任何一种机器数的串行乘除算法计算)。 (1) X=5.25,Y= -1.625 (2) X= -29/256,Y=15/64
答:(1) [X×Y]浮=1,0100 1.01111; X*Y=-0.10001×2(2)
X和Y的补码表示为:
[X]补=0,1101 1.00011 [Y]补=0,1110 0.11110
0100- 0011
- 0001
[X/Y]浮= 1,0010 1.00111; X/Y=-0.11001×2
0010
29)10?(?0.11101?2?11)2256
15Y?()10?(0.1111?2?10)264X?(?假设Z=X*Y,则Z的计算过程为:
注意:参见P143的原理和P143中例4.14。
(1)阶码相加
[Ez]移?[EX+EY]移?[EX]移+[EY]布=001101,+111110,=001011,阶码无溢出
(2) 尾数相乘
使用Booth算法计算尾数的乘积:
[MX]补=11.00011 [MY]补=0.11110 [-MX]补=00.11101
18
部分积00.00000+00.0000000.0000000.00000+00.1110100.1110100.01110+00.0000000.0111000.00111+00.0000000.0011100.00011+00.0000000.0001100.00001+11.0001111.00100
[MX]补=1.00100 11010 (3) 结果的规格化
乘数Y(YnYn+1)0.1 1 1 1 0 0操作说明Y5Y6=00,+00 0.1 1 1 1 0右移一位Y4Y5=10,+[-Mx]补1 0 0.1 1 1 1右移一位Y3Y4=11,+00 1 0 0.1 1 1右移一位Y2Y3=11,+01 0 1 0 0.1 1右移一位Y1Y2=11,+01 1 0 1 0 0.11 1 0 1 0右移一位Y0Y1=01,+[Mx]补结果的尾数已经是规格化的,因此无需再规格化。 (4) 舍入
对尾数进行0舍1入,得: [Z]补=0,1011 1.00101
假设Z=X/Y,则Z的计算过程为:
注意:参见P145的原理和P146中例4.15。
(1)阶码相减
[Ez]移?[EX?EY]移?[EX]移+[?EY]布=001101,+00,0010=001111,阶码无溢出
(2)尾数相除
采用原码加减交替法计算尾数的商:
19
[MX]补=00.11101 [MY]补=00.11110 [-|MY|]补=11.00010
被除数/余数+00.1110111.0001011.1111111.1111000.1111000.1110001.1100011.0001000.1101001.1010011.0001000.1011001.0110011.0001000.0111000.1110011.0001011.1111000.1111000.11100商Q0 0 0 0 0 0 操作说明+[-|MY|]补0 0 0 0 0 0 0 0 0 0 0.0 0 0 0 0 0.1 0 0 0 0.1 00 0 0 0.1 1 0 0 0.1 1 00 0 0.1 1 1 0 0.1 1 1 00 0.1 1 1 1 0.1 1 1 1 00.1 1 1 1 0 R0<0,上商0左移一位+|MY|R1>0,上商1左移一位+[-|MY|]补R2>0,上商1左移一位+[-|MY|]补R3>0,上商1左移一位+[-|MY|]补R4>0,上商1左移一位+[-|MY|]补R5<0,上商0+|MY|恢复余数
++++++[MZ]补=0.11110(1)
(3) 结果的规格化
结果的尾数已经是规格化的,因此无需再进行规格化。 (4)舍入
对尾数进行0舍1入,得:
|MZ|=0.11111 [MZ]原=1.11111 [MZ]补=1.00001
|Z|补=0,1111 1.00001
4.10 假设浮点数加减运算时,尾数采用变形补码(模4补码)进行运算,运算结果形式为:MS1 MS2.M1 ?? Mn,选择正确的答案写在横线上:
20
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库计算机组成原理都给对方版答案(完整版)(4)在线全文阅读。
相关推荐: