我知道我是否有这样的数字:
1 | 1001 0001 | 0011 0011 0000 0001 0101 000
1 sign bit | 8 bit biased exponent | 23 bit fraction/mantissa
我可以通过从偏置指数中减去偏差127(0111 1111)来计算“实数”指数。即1001 0001 - 0111 1111 = 10010(因此实数指数为18)
1,0011 0011 0000 0001 0101 000 * 2 ^ 18
现在我的问题是:
如果a有这样的(非规范化)数字:
0 | 0000 0000 | 0000 0000 0000 0000 0000 001
为什么指数是-126而不是-127? 0000 0000 - 0111 1111应为-127而不是-126,以便
0,0000 0000 0000 0000 0000 0001 * 2 ^ -126而非0,0000 0000 0000 0000 0000 0001 * 2 ^ -127
谢谢和最好的问候
答案 0 :(得分:3)
非规范化单精度浮点数的隐式指数为2 -126 :
( - 1) signbit ×2 -126 ×0.significandbits
有关详细信息,请参阅https://en.wikipedia.org/wiki/Single-precision_floating-point_format。