在计算机科学中,浮点数的加减运算是数值计算的基础操作,但其底层实现远比整数运算复杂。IEEE 754 标准定义了单精度(32位)和双精度(64位)浮点数的格式与运算规则。以下从硬件实现角度详细解析其运算流程。
一、浮点数格式与关键组件
以单精度(float)和双精度(double)为例:
- 单精度(32位):
- 符号位(S):1位
- 指数(E):8位(偏移值127)
- 尾数(M):23位(隐含前导1)
- 双精度(64位):
- 符号位:1位
- 指数:11位(偏移值1023)
- 尾数:52位(隐含前导1)
规格化数的值公式:
(−1)S×(1.M)×2E−偏移值 (-1)^S \times (1.M) \times 2^{E - \text{偏移值}} (−1)S×(1.M)