解释计算机体系结构中的 IEEE 标准 754 浮点数?
IEEE开发了IEEE754浮点标准。本标准定义了设置格式和操作模式。所有符合此标准的计算机对于相同的计算总是会计算出相同的结果。本标准没有规定用于执行计算的算术程序和硬件。例如,一个CPU无论是使用shift-add硬件还是Wallace树将两个有效值相乘都可以满足标准。
IEEE754标准为浮点数指定了两种精度。单精度数有32位-1位表示符号,8位表示指数,23位表示有效数。有效数还在其小数点左侧包含一个隐含的1。
表(a)显示了单精度格式的+19.5(=10011.1或1.00111x24二进制)的表示。前导1不包含在有效数中,它的存在在本标准中是隐含的。由于添加了127的偏差,因此指数4表示为10000011或131。
双精度数使用64位-1表示符号,11位表示指数,52位表示有效数。与单精度一样,对于大多数值,有效数都有一个隐含的前导1。指数的偏差为1023,范围值从-1022到+1023。最小和最大指数值-1023和+1024保留用于特殊数字。表(b)显示了双精度格式中+19.5的表示。对于该值,指数存储为4+偏差,或4+1023=1027。
IEEE754标准格式中的单(a)和双(b)精度表示
(一种)
零、±∞和Nan具有单精度和双精度格式的预定义表示。值0有一个等于0的有效数和一个所有位都设置为0的指数。Infinity也有一个等于0的有效数,但其指数的每一位都设置为1。符号位表示该值是±∞或-∞。全1和任何非零有效数的指数表示Nan的值。
IEEE754标准要求向最近的舍入是默认舍入方法,而其他舍入方法可供用户选择。因此,如果将两个满足IEEE754规范的处理器设置为使用不同的舍入方法,则它们对于相同的计算可能会产生略有不同的结果。