活学活用吧 关注:2贴子:31
  • 0回复贴,共1

浮点

收藏回复

  • 59.61.23.*
[例25] 设x=2010×0.11011011,y=2100×(-0.10101100),求x+y。
[解:]
     为了便于直观理解,假设两数均以补码表示,阶码采用双符号位,尾数采用单符号位,则它们的
浮点表示分别为
[x]浮=00 010,     0.11011011
[y]浮=00 100,     1.01010100
<1> 求阶差并对阶
               △E=Ex-Ey=[Ex]补+[-Ey]补=00 010+11 100=11 110
即△E为-2,x的阶码小,应使Mx右移两位,Ex加2,
                              [x]浮=00 100,0.00110110(11)
其中(11)表示Mx右移2位后移出的最低两位数。
<2> 尾数求和
                             0. 0 0 1 1 0 1 1 0 (11)
                         +   1. 0 1 0 1 0 1 0 0
                       ————————————————
                             1. 1 0 0 0 1 0 1 0 (11)
<3>规格化处理
尾数运算结果的符号位与最高数值位同值,应执行左规处理,结果为1.00010101(10),阶码为 00 011。
<4>舍入处理
采用0舍1入法处理,则有
                             1. 0 0 0 1 0 1 0 1
                         +                    1
                     ————————————————
                             1. 0 0 0 1 0 1 1 0
<5>判溢出
阶码符号位为00,不溢出,故得最终结果为
                       x+y=2011×(-0.11101010)



1楼2010-05-12 21:59回复