+ 00.1101 Yn=1,+|X| 01.0011
→ 00.1001 1110 0 部分积右移一位, + 00.0000 Yn=0,+0 00.1001
→ 00.0100 1111 1 部分积右移一位, + 00.1101 Yn=1,+|X| 01.0001
→ 00.1000 1111 部分积右移一位。 由于Ps=Xs⊕Ys =0⊕1=1,所以,[X*Y]=1.10001111。
8、已知X=-0.1101,Y=0.0110,用原码两位乘法求[X*Y]原。 【解】|X|=000.1101,2|X|=001.1010,|Y|=00.0110
部分积 乘数 C 说明 000.0000 00.01 100
+ 001.1010 C=100,+2|X| 001.1010
→ 000.0110 00. 010 右移两位, + 000.1101 C=010,+|X| 001.0011
→ 000.0100 00.0 右移两位, 所以结果为:[X*Y]原=1.01001110。
9、已知X=-0.1101,Y=0.0110,用补码两位乘法求[X*Y]补。
【解】[X]补=111.0011,2[-X]补=001.1010,2[X]补=110.0110,[Y]补=00.0110
部分积 乘数 Yn+1 说明 000.0000 00.01 100
+ 001.1010 Yn+1=100,+2[-X]补
001.1010
→ 000.0110 00. 011 右移两位,
+ 110.0110 Yn+1=011,+2[X]补
110.1100
→ 111.1011 00.0 右移两位, 所以结果为:[X*Y]补=1.10110010。
10、已知X=-0.1101,Y=0.1011,用补码一位乘法求[X*Y]补。
11、已知X=-0.10110,Y=0.11111,用加减交替法原码一位除法计算[X/Y]原。
12、已知X=-0.10110,Y=0.11111,用加减交替法补码一位除法计算[X/Y]补。
13、已知X=-0.1001,Y=-0.1001,用补码不恢复余数除法求[X/Y]补。
14、已知X=0.100,Y=-0.101,用补码一位不恢复余数除法求[X/Y]补。
15、已知X=2
*0.11011011,Y=2*(-0.10101100),求X+Y。
【解】[X]补=0010,00.11011011;[Y]补=0100,11.01010100;
①对阶。 [△E]=[EX]补-[EY]补=0010+1100=1110,其真值为-2,即X的阶码比Y的阶码小2,X的尾数应右移2位,阶码加2得:[X]补=0100,0.0010111(0舍1入)。 ②尾数求和,即[MX]补+[MY]补。
[MX]补 00.11011011 + [MY]补 11.01010100 [MX +MY]补 00.00101111
③结果规格化及判断溢出。结果尾数是非规格化的数,需左规。因此将结果尾数左移2位,阶码减2,得:[X +Y]补=0010,00.10111100。 因阶码符号位为00,所以溢出。
④舍入。由于是左规,结果不需要舍入。 最后运算结果的真值为X+Y=2010*0.10111100。
16、已知下述[X]移,[Y]补,用移码运算求[X+Y]移和[X-Y]移。注意指出溢出情况。
17、设浮点数的阶码为4位(含阶符),尾数为6位(含尾符),X、Y中的指数项、小数项均为二进制真值。
(1)X=201*0.1101,Y=211*(-0.1010),求X+Y=? (2)X=2010*0.1111,Y=2-100*0.1110,求X-Y=?
010100
18、设有两个十进制数:X=-0.875*2,Y=0.625*2.
(1)将X,Y的尾数转换为二进制补码形式。
(2)设阶码2位,阶符1位,数符1位,尾数3位。通过补码运算规则求出Z= X-Y的二进制浮点规格化结果。
【解】(1)[MX]补=1.001;[MY]补=0.101 (2)[X]补=001,1.001;[Y]补=010,0.101;
12
①对阶。 [△E]=[EX]补-[EY]补=001+110=111,其真值为-1,即X的阶码比Y的阶码小
1,X的尾数应右移1位,阶码加1得:[X]补=010,0.101(0舍1入)。 ②尾数求差,即[MX]补-[MY]补。
[MX]补 1.001 – [MY]补 0.101 Z补=[MX -MY]补 0.100
③结果规格化及判断溢出。结果尾数是规格化的数,因此得:Z补=010, 0.100。 因阶码符号位为0,所以溢出。
最后运算结果的真值为Z=X-Y=2010*0.100;规格化结果为Z=22*0.100。
19、设浮点数X,Y的阶码(补码形式)和尾数(原码形式)如下:
X:阶码0001,尾数0.1010;Y:阶码1111,尾数0.1001。设基数为2。
①求X+Y(阶码运算用补码,尾数运算用补码)。
②求X*Y(阶码运算用移码,尾数运算用原码一位乘)。