IEEE二进制浮点数算术标准(IEEE 754)

本文为基础知识,作为备忘录,供后续自我参考。

目录

单精度浮点数格式

双精度浮点数格式


IEEE 754规定了四种表示浮点数值的方式:单精确度(32位)、双精确度(64位)、延伸单精确度(43比特以上,很少使用)与延伸双精确度。本备忘录仅记录常用的单/双精度浮点数据格式。

 

单精度浮点数格式

在计算中占用4个字节,即32bit。如下图所示,第1位符号位(sign bit)表示正负,中间8位表示指数(exponent),即次方数,后23位储存有效数位(精确度),即尾数(fraction/mantissa)。有效数位最左边的1并不会储存,因为它一定存在。所以,有效数位是24位,实际储存23位。

 

\begin{array}{l} \text { sign}=+1 \\ \text { exponent }=(-127)+124=-3 \\ \text { fraction }=1+2^{-2}=1.25 \\ \text { value }=(+1) \times 1.25 \times 2^{-3}=+0.15625 \end{array}

 

双精度浮点数格式

在计算机中占用8个字节,即64bit,可表示的数字范围 \left[2^{-1024}, 2^{1024}\right]。如下图所示,第1位符号位(sign bit)表示正负,中间11位表示指数(exponent),即次方数,后52位储存有效数位(精确度),即尾数(fraction/mantissa)。

举例

二进制:0 01111111111 0000000000000000000000000000000000000000000000000001

2^{0} \times\left(1+2^{-52}\right)=1.0000000000000002

 

单/双精度浮点数可以表示的数值为

(-1)^{\text {sign }} \times 2^{\text {exponent }} \times 1 \text { .mantissa }

 

                               

参考

IEEE 754 https://en.wikipedia.org/wiki/IEEE_754

你可能感兴趣的:(IEEE二进制浮点数算术标准(IEEE 754))