解释计算机体系结构中的 IEEE 标准 754 浮点数?

IEEE 开发了 IEEE 754 浮点标准。本标准定义了设置格式和操作模式。所有符合此标准的计算机对于相同的计算总是会计算出相同的结果。本标准没有规定用于执行计算的算术程序和硬件。例如,一个CPU无论是使用shift-add硬件还是Wallace树将两个有效值相乘都可以满足标准。

IEEE 754 标准为浮点数指定了两种精度。单精度数有 32 位 - 1 位表示符号,8 位表示指数,23 位表示有效数。有效数还在其小数点左侧包含一个隐含的 1。

表 (a) 显示了单精度格式的 +19.5(=10011.1 或 1.00111 x 2 4二进制)的表示。前导 1 不包含在有效数中,它的存在在本标准中是隐含的。由于添加了 127 的偏差,因此指数 4 表示为 1000 0011 或 131。

双精度数使用 64 位 - 1 表示符号,11 位表示指数,52 位表示有效数。与单精度一样,对于大多数值,有效数都有一个隐含的前导 1。指数的偏差为 1023,范围值从 -1022 到 +1023。最小和最大指数值 -1023 和 +1024 保留用于特殊数字。表 (b) 显示了双精度格式中 +19.5 的表示。对于该值,指数存储为 4 + 偏差,或 4 + 1023 = 1027。

IEEE 754 标准格式中的单 (a) 和双 (b) 精度表示

价值符号有效数指数
+19.50001 1100 0000 0000 0000 00001000 0011
00000 0000 0000 0000 0000 00000000 0000
±∞0 或 1000 0000 0000 0000 0000 00001111 1111
Nan0 或 1Any non-zero value1111 1111
Denormalized0 或 1Any non-zero value0000 0000

(一种)

价值符号有效数指数
+19.500011 1000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
100 0000 0011
000000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
000 0000 0000
±∞0 或 10000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
111 1111 1111
Nan0 或 1Any non-zero value111 1111 1111
Denormalized0 或 1Any non-zero value000 0000 0000

零、±∞ 和 Nan 具有单精度和双精度格式的预定义表示。值 0 有一个等于 0 的有效数和一个所有位都设置为 0 的指数。Infinity 也有一个等于 0 的有效数,但其指数的每一位都设置为 1。符号位表示该值是 ±∞ 或 - ∞。全 1 和任何非零有效数的指数表示 Nan 的值。

IEEE 754 标准要求向最近的舍入是默认舍入方法,而其他舍入方法可供用户选择。因此,如果将两个满足 IEEE 754 规范的处理器设置为使用不同的舍入方法,则它们对于相同的计算可能会产生略有不同的结果。