双精度浮点格式的最大和最小指数

时间:2013-03-15 23:48:34

标签: floating-point binary numbers floating-point-precision exponent

根据IEEE Std 754-2008标准,binary64双精度浮点格式的指数字段宽度为11位,由指数偏差1023补偿。标准还规定最大指数为1023,最小值为-1022。为什么最大指数不是:

2^10 + 2^9 + 2^8 + 2^7 + 2^6 + 2^5 + 2^4 + 2^3 + 2^2 + 2^1 + 2^0 - 1023 = 1024

最小指数不是:

0 - 1023 = -1023

谢谢!

1 个答案:

答案 0 :(得分:8)

指数的位有两个保留值,一个用于编码0和次正规数,一个用于编码∞和NaN。因此,正常指数的范围比您预期的要小两倍。参见IEEE-754标准的§3.4(w是指数中的位数 - 11的{​​{1}}}:

  

编码的偏差指数E的范围应包括:

     

- 1到2之间的每个整数 w - 2,包括在内,以编码正常数字

     

- 保留值0以编码±0和次正规数

     

- 保留值2 w - 1编码±∞和NaNs。