深入理解计算机中的浮点数值
1. 二进制小数示例
为了更好地展示二进制小数,以下表格给出了几个使用二进制浮点值的例子:
| Binary | Decimal Fraction | Decimal Value |
| — | — | — |
| 10.101 | 2 + 1/2 + 1/8 | 2.625 |
| 10011.001 | 19 + 1/8 | 19.125 |
| 10110.1101 | 22 + 1/2 + 1/4 + 1/16 | 22.8125 |
| 1101.011 | 13 + 1/4 + 1/8 | 13.375 |
这些例子中的小数部分是有限的。不过,就像十进制小数可能有循环值(如 1/3 的十进制值)一样,二进制小数也可能有循环小数,这些值在某些时候必须截断,只能用二进制近似表示十进制小数。幸运的是,GNU 汇编器会帮我们完成这项工作。
当书写二进制浮点值时,通常会对二进制值进行归一化处理。这个过程会将小数点移到最左边的数字,并修改指数以进行补偿。例如,值 1101.011 变为 1.101011 × 2^3。
2. 标准浮点数据类型
在计算机环境中,由于处理器处理数值的位数有限,为了近似表示实数,创建了标准系统。1985 年,电气和电子工程师协会(IEEE)制定了 IEEE 标准 754 浮点格式,该格式被广泛用于计算机系统中表示实数,Intel 在 IA - 32 平台上采用了此标准来表示浮点值。
IEEE 标准 754 浮点标准将实数定义为二进制浮点值,由三个部分组成:
- 符号位:表示值是正还是负,符号位为
超级会员免费看
订阅专栏 解锁全文
78

被折叠的 条评论
为什么被折叠?



