我知道我是否有这样的数字:
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
谢谢和最好的问候
1 回答
非规范化单精度浮点数的隐式指数为2-126:
(-1)signbit×2-126×0.significandbits
有关详细信息,请参阅https://en.wikipedia.org/wiki/Single-precision_floating-point_format .