浮点数/特殊数
外观
< 浮点数
IEEE 754 标准中指定了一些特殊数。其中包括零、无穷大、非数 (NaN) 的表示。
当指数和尾数都等于零时,浮点数被认为是零。这是一个特殊情况,因为我们记得尾数始终被认为是规范化的。这意味着 ,并且在尾数之前隐含一个“1.”。如果我们看一下以下等式
我们代入 m 和 e 的值
我们说,当指数为零时,我们有一类特殊的数,称为“非规范化数”。我们将在后面进一步讨论非规范化数。
注意,我们对零的定义没有提到符号位。这意味着我们可以根据符号值获得正零和负零。两者之间有什么区别?通常,正零和负零之间没有区别,只是符号位可以通过算术运算传播。
当数字的指数为最大值时,即当指数为全 1 位时,我们有另一类特殊数。这意味着常规数字可能永远不会使用最大指数值来表示数字。如果指数是最大值,并且尾数为零,我们说这个特殊情况称为“无穷大”。请注意,我们可以根据符号位获得负无穷大和正无穷大值。
如果我们有一个最大指数值,并且一个非零尾数,我们有一个非常特殊的数字,称为 **NaN**。NaN 代表“非数”,当我们执行某些非法运算时会发生,例如零除以零。NaN 可以是带符号的,但符号很少重要。NaN 数字不能在计算中有效使用。
类型 | Exp | 分数 | 符号 |
---|---|---|---|
正零 | 0 | 0 | 0 |
负零 | 0 | 0 | 1 |
非规范化数 | 0 | 非零 | 任何 |
规范化数 | 任何 | 任何 | |
无穷大 | 0 | 任何 | |
NaN | 非零 | 任何 |