浮点数是表示实数的方法,小数点位置可浮动。IEEE 754 是现代计算机普遍采用的浮点数标准,定义了单精度(32 位)、双精度(64 位)等格式。
$$N = (-1)^S \times M \times R^E$$
$$+101.11_2 = +0.10111 \times 2^3$$
$S=0$,$M=0.10111$,$E=3$,$R=2$
| S(1位) | E(8位) | M(23位) | |--------|--------|---------| | 31 | 30-23 | 22-0 |
| S(1位) | E(11位) | M(52位) | |--------|---------|---------| | 63 | 62-52 | 51-0 |
| S(1位) | E(15位) | M(64位,含1位显式整数位) |
| 类型 | 阶码 E | 尾数 M | 值 |
|---|---|---|---|
| 规格化数 | 1 ~ 254 | 任意 | $(-1)^S \times 1.M \times 2^{E-127}$ |
| 非规格化数 | 0 | $\neq 0$ | $(-1)^S \times 0.M \times 2^{-126}$ |
| $\pm 0$ | 0 | 0 | $\pm 0$ |
| $\pm\infty$ | 255 | 0 | $\pm\infty$ |
| NaN | 255 | $\neq 0$ | 非数 |
例:$-6.625_{10}$
结果:1 10000001 10101000000000000000000,十六进制:C0D40000。
例:0 10000010 01100000000000000000000
例:$1.01 \times 2^3 + 1.10 \times 2^1$
| 特性 | 单精度 | 双精度 |
|---|---|---|
| 总位数 | 32 | 64 |
| 有效位数 | 24 位(约 7 位十进制) | 53 位(约 15 位十进制) |
| 指数范围 | -126 ~ +127 | -1022 ~ +1023 |
| Bias | 127 | 1023 |
↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。