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的说明:

  1. normal number: [1 , \(2^w - 2\)], 值为 \((-1)^s \times 2^{E-bias} \times (1+ 2^{1-p} \times T)\)
  2. 0, 当T=0表示 \(\pm 0\); 当T!=0 表示 subnormal number, 值为 \((-1)^s \times 2^{e_{min}} \times (0+ 2^{1-p} \times T)\)
  3. \(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