如何添加两个浮点数导致溢出

时间:2016-05-20 13:42:28

标签: binary floating-point ieee-754

我想添加两个二进制分数:

1.100110011001100110011001100110011001100110011001101 x 2 -4

11.001100110011001100110011001100110011001100110011010 x 2 -4

如果我只是添加它们,它似乎会导致溢出(54位):

      1.100110011001100110011001100110011001100110011001101
   + 11.001100110011001100110011001100110011001100110011010
      -----------------------------------------------------
    100.110011001100110011001100110011001100110011001100111

如果我仍然需要将其存储为双精度52位尾数,我该如何处理呢?

1 个答案:

答案 0 :(得分:2)

添加后的下一步是调整指数,使前导有效位紧靠二进制点之前。在这种情况下,您需要向指数添加两个。

新的有效数字是1.00110011001100110011001100110011001100110011001100111

现在舍入到53位,丢弃最后的11位并根据舍入模式进行调整。如果是最接近的,则需要向上舍入。