2016-03-06 50 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

相关问题