9

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

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

4

3 回答 3

7

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

如果可以从指数中计算出该位,则省略该位可以在尾数中增加一位精度。

于 2012-10-25T08:01:35.407 回答
1

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

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

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

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

从技术上讲,答案是我们不需要存储隐含位,因为我们在 FPU 电路中添加了额外的逻辑以根据上述规则对其进行重构;)。

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

于 2012-10-25T20:44:43.270 回答
1

它总是一个所以我们不表示它当你规范化一个二进制数时你只会得到一个隐藏位,规范化的意思是写一个形式的数字

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

所以第一位总是变成 1 所以我们不需要表示它

于 2016-03-02T19:53:26.027 回答