浮点格式(IEEE)有32位。符号的第一位,在偏移指数的8位之后,以及尾数的另外23位之后。在这个尾数中,第一个1(总是1)总是被隐藏,这引出了我的问题:
这个格式的数字0怎么样?因为如果指数为0,则数字将始终为1。 加上尾数总是最小1对吧?如果它们在尾数中仅为零,则将计为“1.0”......
我真的不明白。
答案 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)