floating point number¶
浮点数最新标准为IEEE 754-2019
浮点数格式如下:
S(sign) | E (biased exponent) | T (trailing significand field) |
1 bit | w bits | t bits, t = p -1 |
具有如下关系:
\[\begin{aligned}
e & = E - bias \\
e_{max} & = bias = 2^{w-1} - 1 \\
e_{min} & = 1 - e_{max}
\end{aligned}\]
关于biased E的说明:
- normal number: [1 , \(2^w - 2\)], 值为 \((-1)^s \times 2^{E-bias} \times (1+ 2^{1-p} \times T)\)
- 0, 当T=0表示 \(\pm 0\); 当T!=0 表示 subnormal number, 值为 \((-1)^s \times 2^{e_{min}} \times (0+ 2^{1-p} \times T)\)
- \(2^w − 1\) (二进制全部为1), 当T=0, 表示 \(\pm \infty\); 当T != 0, 表示 NaN.
ieee 规定的16, 32, 64, 128比特的浮点数格式列表¶
参数 | binary16 | binary32 | binary64 | binary128 |
---|---|---|---|---|
指数位数 | 5 | 8 | 11 | 15 |
emax/bias | 15 | 127 | 1023 | 16383 |
小数位数 | 10 | 23 | 52 | 112 |