IEEE 754 浮点数标准学习笔记
IEEE 754 浮点数标准学习笔记
一、简介
IEEE 754 是一种用于浮点数表示的国际标准,广泛应用于计算机系统。它定义了单精度(32位)和双精度(64位)两种格式。
二、单精度浮点数(32位)
1. 格式
- 符号位(1位):0 表示正数,1 表示负数。
- 指数位(8位):偏移量为 127。
- 尾数位(23位):表示小数部分。
2. 编码规则
- 符号位:0 或 1。
- 指数位:存储值 - 127 = 实际指数。
- 尾数位:1 + 小数部分(二进制表示)。
3. 示例
将 5.0 转换为单精度浮点数:
- 符号位:0(正数)。
- 指数位:
5.0=101.0=1.01 × 2^2,实际指数为 2,存储值为2 + 127 = 129(二进制10000001)。 - 尾数位:
01补足 23 位为01000000000000000000000。
最终表示:0 10000001 01000000000000000000000
三、双精度浮点数(64位)
1. 格式
- 符号位(1位):0 表示正数,1 表示负数。
- 指数位(11位):偏移量为 1023。
- 尾数位(52位):表示小数部分。
2. 编码规则
- 符号位:0 或 1。
- 指数位:存储值 - 1023 = 实际指数。
- 尾数位:1 + 小数部分(二进制表示)。
3. 示例
将 -50.5 转换为双精度浮点数:
- 符号位:1(负数)。
- 指数位:
50.5=110010.1=1.100101 x 2^5,实际指数为 5,存储值为5 + 1023 = 1028(二进制10000000100)。 - 尾数位:
100101补足 52 位为10010100000000000000000000000000000000000000000000000。
最终表示:1 10000000100 1001010000000000000000000000000000000000000000000000
四、特殊值
- 零:指数位和尾数位全为 0,符号位为 0 或 1。
- 无穷大:指数位全为 1,尾数位全为 0,符号位为 0 或 1。
- NaN(非数字):指数位全为 1,尾数位不全为 0。
五、超出精度范围
根据 IEEE 754 的舍入规则(通常是“舍入到最接近”),如果舍弃部分的最高位是1,则尾数部分的最低位会加1。
浙公网安备 33010602011771号