解释为什么不需要表示浮点格式的隐藏位

时间:2012-10-25 07:55:46

标签: floating-point 32-bit

解释为什么不需要表示浮点格式的隐藏位。

帮助?我知道隐藏的位存在更精确但为什么不需要表示?

3 个答案:

答案 0 :(得分:5)

如果你的隐藏位是尾数H.xxxxxxx之前的那个,H =隐藏,答案是当指数> 0时隐含1,当指数== 0时它是零。

省略该位,当它可以从指数计算时,允许在尾数中再多一点精度。

答案 1 :(得分:1)

@Aki的回答是正确的。隐含位并不总是1。

对于0.0,-0.0&非正规数(逐渐下溢)隐含位(如果有的话)为0 这些数字都是具有零偏差指数的数字。

非有限浮点数(+ inf -inf NaN)根本不需要任何隐含位的概念 虽然,添加这样一点不会伤害 这些数字都是偏向指数设置为全数的数字。

对于每个其他浮点数,隐含位将为1.

从技术上讲,答案是我们不需要存储隐含位,因为我们在FPU电路中放置了额外的逻辑,以便从上面的规则重建它。)。

例如,隐含位可以通过对偏置指数的所有位进行或运算来获得,所以它毕竟不是那么昂贵。

答案 2 :(得分:1)

它将始终是一个,所以我们不代表它 在对二进制数进行标准化时,您将只获得一个隐藏位,并且标准化的含义是以

的形式写入数字

1.xxxx x 2 ^ x(例如:110.11变为1.1011x2 ^ 2)

所以第一位总是变为1,所以我们不需要代表它