跳转到内容

浮点数/特殊数

来自维基教科书,开放的书,开放的世界

特殊数

[编辑 | 编辑源代码]

IEEE 754 标准中指定了一些特殊数。其中包括零、无穷大、非数 (NaN) 的表示。

当指数和尾数都等于零时,浮点数被认为是零。这是一个特殊情况,因为我们记得尾数始终被认为是规范化的。这意味着 ,并且在尾数之前隐含一个“1.”。如果我们看一下以下等式

我们代入 m 和 e 的值

我们说,当指数为零时,我们有一类特殊的数,称为“非规范化数”。我们将在后面进一步讨论非规范化数。

负零?

[编辑 | 编辑源代码]

注意,我们对零的定义没有提到符号位。这意味着我们可以根据符号值获得正零和负零。两者之间有什么区别?通常,正零和负零之间没有区别,只是符号位可以通过算术运算传播。

无穷大

[编辑 | 编辑源代码]

当数字的指数为最大值时,即当指数为全 1 位时,我们有另一类特殊数。这意味着常规数字可能永远不会使用最大指数值来表示数字。如果指数是最大值,并且尾数为零,我们说这个特殊情况称为“无穷大”。请注意,我们可以根据符号位获得负无穷大和正无穷大值。

如果我们有一个最大指数值,并且一个非零尾数,我们有一个非常特殊的数字,称为 **NaN**。NaN 代表“非数”,当我们执行某些非法运算时会发生,例如零除以零。NaN 可以是带符号的,但符号很少重要。NaN 数字不能在计算中有效使用。

类型 Exp 分数 符号
正零 0 0 0
负零 0 0 1
非规范化数 0 非零 任何
规范化数 任何 任何
无穷大 0 任何
NaN 非零 任何
华夏公益教科书