2008-12-12 44 views

回答

6

添加一個數字給NaN給出NaN。預計不會引起例外。我知道這符合IEEE 754.

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; 
+0

根據定義,0/0 = NaN。見http://en.wikipedia.org/wiki/NaN。 – 2008-12-12 15:16:03

1

要回答史蒂夫B的問題:

POSITIVE_INFINITY是,如果你有無限的存儲空間,可以存儲最大陽性數。如果沒有這種奢侈品,我們不得不使用像1.0/0.0這樣的結構,它做得很好。 NEGATIVE_INFINITY也是一樣,但是最大的負數。

NaN通常定義爲0.0/0.0,因爲沒有0/0這樣的數字,因此完全符合NaN的條件。

相關問題