IEEE 单精度格式由三个字段组成:23 位小数 f;8 位偏置指数 e;以及 1 位符号 s。 这些字段连续存储在一个 32 位字中,如下图所示。0:22 位包含 23 位小数 f,其中第 0 位是小数的最低有效位,第 22 位是最高有效位;23:30 位包含 8 位偏置指数 e,第 23 位是偏置指数的最低有效位,第 30 位是最高有效位;最高的第 31 位包含符号位 s。
图 2-1 单精度存储格式
Table 2–2 显示一侧的三个组成字段 s、e 和 f 的值与另一侧的单精度格式位模式表示的值之间的对应关系;u 意味着所指示的字段的值与确定特定单精度格式位模式的值无关。
|
注意,当 e < 255 时,为单精度格式位模式分配的值是使用以下方法构成的:将二进制基数点插入到紧邻小数最高有效位的左侧,将一个隐含位插入到紧邻二进制点的左侧,因而以二进制位置表示法来表示一个带分数(整数加小数,其中 0 ≤ 小数 < 1)。
如此构成的带分数称为单精度格式有效数字。之所以称为隐含位的原因是,在单精度格式位模式中没有显式指定其值,但偏置指数字段的值隐式指定了该值。
对于单精度格式,正规数和次正规数的差别在于正规数有效数字的前导位(二进制点左侧的位)为 1,而次正规数有效数字的前导位为 0。在 IEEE 标准 754 中,单精度格式次正规数称为单精度格式非规格化数。
在单精度格式正规数中 23 位小数加上隐含前导有效数位共提供了 24 位精度。
Table 2–3 中给出了重要的单精度存储格式位模式的示例。最大正正规数是以 IEEE 单精度格式表示的最大有限数。 最小正次正规数是以 IEEE 单精度格式表示的最小正数。最小正正规数通常称为下溢阈值。 (最大和最小正规数和次正规数的十进制值是近似的;对于所示的数字来说,它们是正确的。)
|
NaN(Not a Number, 非数)可以用任何满足 NaN 定义的位模式表示。在Table 2–3 中显示的 NaN 十六进制值只是可用于表示 NaN 的众多位模式之一。