7

我编译了错误地尝试添加数字和 Double.NaN 的代码。我想知道它是否抛出了一个没有被捕获的异常?有谁知道这种情况是如何处理的?
谢谢。

4

3 回答 3

7

将一个数字添加到 NaN 会得到 NaN。预计不会导致异常。我知道这符合 IEEE 754。

于 2008-12-12T14:52:08.300 回答
1

回答史蒂夫 B 的问题:

POSITIVE_INFINITY 是您可以存储的最大正数,如果您有无限的存储空间。如果没有这种奢侈,我们必须使用像 1.0 / 0.0 这样的结构,它做得很好。NEGATIVE_INFINITY 也是如此,但最大的负数也是如此。

NaN 通常定义为 0.0 / 0.0,因为没有像 0/0 这样的数字,因此完全符合 NaN 的要求。

于 2008-12-12T15:09:24.240 回答
0
public static void main(String args[])
{
    Double d = Double.NaN + 1.0;
    System.out.println(d);
}

打印 Double.Nan。谁能解释源代码实现?

  public static final double POSITIVE_INFINITY = 1.0 / 0.0;
  public static final double NEGATIVE_INFINITY = -1.0 / 0.0;
  public static final double NaN = 0.0d / 0.0;
于 2008-12-12T14:55:42.303 回答