IEEE 754 是目前最广泛使用的浮点数标准,定义了浮点数的存储格式、运算规则和特殊值。
基本格式:$V = (-1)^S \times 1.M \times 2^{E-bias}$
其中 S 为符号位,M 为尾数(隐含前导 1),E 为阶码(移码表示),bias 为偏置常数。
| 格式 | 总位数 | 符号位 | 阶码位数 | 尾数位数 | 偏置常数 |
|---|---|---|---|---|---|
| 单精度 (float) | 32 | 1 | 8 | 23 | 127 |
| 双精度 (double) | 64 | 1 | 11 | 52 | 1023 |
| 扩展双精度 | 80 | 1 | 15 | 64 | 16383 |
规格化数的真值计算:$V = (-1)^S \times 1.M \times 2^{E-127}$(单精度)。
| 概念 | 定义 |
|---|---|
| 隐含前导 1 | IEEE 754 规格化数的尾数省略整数部分的 1,实际有效位多一位 |
| 偏置常数 bias | 阶码用移码表示时的偏移量,单精度为 127 |
| 阶码真值 | E − bias,其中 E 为存储的阶码值 |
| denormalized numbers | 阶码全 0 的非规格化数,用于表示接近 0 的极小值 |
| 机器精度 ε | 1.0 与大于 1.0 的最小可表示数之差,单精度为 $2^{-23}$ |
| 考点 | 说明 |
|---|---|
| 十进制转 IEEE 754 | 将十进制数转换为 32 位单精度十六进制表示 |
| IEEE 754 转十进制 | 从 32 位十六进制还原为十进制值 |
| 特殊值判断 | 给定十六进制,判断零/无穷大/NaN/规格化/非规格化 |
| 表示精度分析 | 单精度/双精度的精度极限、相邻可表示数间距 |
| 阶码范围计算 | 最大/最小规格化数的计算 |
| 舍入误差分析 | 舍入方式(向零/向最近偶数/向上/向下)对结果的影响 |
↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。