2016-03-06 103 views
1

爲什麼在程序輸出下面是0.0。它返回Double的最小值。爲什麼Double的最小值返回爲0.0

public class Test { 
    public static void main(String[] args){ 
     System.out.println(Math.min(Double.MIN_VALUE, 0.0d)); // 0.0 
    } 
} 

最小值接近於零,但它爲什麼給出0.0而不是精確值?

+0

可能的複製較小:http://stackoverflow.com/questions/5709073/is-double-min-value-is-greater-than-zero-in-java – sAm

+0

問題是爲什麼它打印0.0而不是最接近的價值。從現有的問題中獲取這個問題,這就是爲什麼問。 – Aajan

回答

5

參考的JavaDoc爲Double.MIN_VALUE

的常量保持型雙, 2-1074的最小非零正值。它等於十六進制浮點數字 0x0.0000000000001P-1022,也等於 Double.longBitsToDouble(0x1L)。

0.0d因此比Double.MIN_VALUE

相關問題