数字0在二进制浮点格式中看起来如何?

时间:2014-10-08 07:20:41

标签: floating-point ieee-754 zero

浮点格式(IEEE)有32位。符号的第一位,在偏移指数的8位之后,以及尾数的另外23位之后。在这个尾数中,第一个1(总是1)总是被隐藏,这引出了我的问题:

这个格式的数字0怎么样?因为如果指数为0,则数字将始终为1。 加上尾数总是最小1对吧?如果它们在尾数中仅为零,则将计为“1.0”......

我真的不明白。

3 个答案:

答案 0 :(得分:4)

Wikipedia告诉你:

0000 0000   = 0
8000 0000   = −0

除了正常的浮点值,使用指数和尾数还有一堆其他不规则数字,如零,无穷大和一堆NaN。还有subnormal numbers;低于2 ^ -127的数字用固定而不是浮动指数近似。

实际上,零是正常次正规数。子正规用(−1)signbits×2^−126 × 0.significandbits编码,指数全为零。如果有效位为零,则结果为(+/-)零。

答案 1 :(得分:3)

具有偏置指数零的IEEE 754二进制浮点数未标准化,并且在有效数字中的二进制点之前没有隐式的一位。零有效数意味着0.0 * 2 ^ x,而不是1.0 * 2 ^ x。

答案 2 :(得分:1)

零值由有偏指数有效数表示,均为0

符号可以是01,分别代表+0.0-0.0

例如,负零看起来像this

enter image description here