首页 > 试题广场 >

按机器补码浮点运算步骤,计算[x±y]补. (1

[问答题]

按机器补码浮点运算步骤,计算[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.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)对阶:

[DE]补=[Ex]补+[-Ey]补 = 11,101+ 00,010=11,111 < 0,

应Ex向Ey对齐,则:[Ex]补+1=11,101+00,001=11,110 = [Ey]补

[x]补=1,110;0.010 110

2)尾数运算:

[Mx]补+[My]补= 0.010 110 + 11.100 100=11.111010

[Mx]补+[-My]补=0.010 110 + 00.011100= 00.110 010

3)结果规格化:

[x+y]补=11,110;11.111 010 = 11,011;11.010 000 (尾数左规3次,阶码减3)

[x-y]补=11,110;00.110 010, 已是规格化数。

4)舍入:无

5)溢出:无

则:x+y=2-101×(-0.110 000)

x-y =2-010×0.110 010


(2)x=2-011×(-0.100010),y=2-010×(-0.011111)

[x]补=1,101;1.011 110, [y]补=1,110;1.100 001

1) 对阶:过程同(1)的1),则

[x]补=1,110;1.101 111

2)尾数运算:

[Mx]补+[My]补= 11.101111 + 11. 100001 = 11.010000

[Mx]补+[-My]补= 11.101111 + 00.011111 = 00.001110

3)结果规格化:

[x+y]补=11,110;11.010 000,已是规格化数

[x-y]补=11,110;00.001 110 =11,100;00.111000 (尾数左规2次,阶码减2)

4)舍入:无

5)溢出:无

则:x+y=2-010×(-0.110 000)

x-y =2-100×0.111 000


(3)x=2101×(-0.100 101),y=2100×(-0.001 111)

[x]补=0,101;1.011 011, [y]补=0,100;1.110 001

1)对阶:

[DE]补=00,101+11,100=00,001 >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.000111(1)= 11.100010(1)

3)结果规格化:

[x+y]补=00,101;11.010 011(1),已是规格化数

[x-y]补=00,101;11.100 010(1)=00,100;11.000 101 (尾数左规1次,阶码减1)

4)舍入:

[x+y]补=00,101;11.010 011(舍)

[x-y]补 不变

5)溢出:无

则:x+y=2101×(-0.101 101)

x-y =2100×(-0.111 011)

发表于 2018-08-20 20:15:48 回复(3)