为什么我们不能存储IEEE浮点数的指数而不添加偏差或将其转换为2或1的补码?

时间:2017-01-26 15:13:07

标签: floating-point computer-science cpu-architecture ieee-754

为什么我们必须在其2或1的补码形式中添加偏差或转换IEEE浮点数的指数? 为什么我们不能像这样以单精度存储它:

1.1 * 2 ^ 0 => 0 00000000 10000000000000000000000

而不是:

1.1 * 2 ^(0 + 127)=> 0 01111111 10000000000000000000000

感谢

1 个答案:

答案 0 :(得分:2)

指数的偏见格式让你可以做到这一点:

给定浮点 f ,用< f >表示它的二进制表示 用+整数加法表示。

然后

<f> + 1 = nextafter(f) 

朝着 f 的相同符号的无穷大。

只要总和不影响符号位,就是这样。