lod*_*dhb 4 floating-point binary numbers exponent floating-point-precision
根据IEEE Std 754-2008标准,二进制64双精度浮点格式的指数字段宽度为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
Run Code Online (Sandbox Code Playgroud)
并且最小指数不是:
0 - 1023 = -1023
Run Code Online (Sandbox Code Playgroud)
谢谢!
指数的位有两个保留值,一个用于编码0和次正规数,一个用于编码∞和NaN.因此,正常指数的范围比您预期的要小两倍.参见IEEE-754标准的§3.4(w是指数中的位数 - 11在这种情况下binary64):
编码的偏差指数E的范围应包括:
- 1到2 w - 2 之间的每个整数,用于编码正常数字
- 保留值0,用于编码±0和次正规数
- 保留值2 w - 1编码±∞和NaNs.