为什么以下程序输出为0.0.它是返回Double的最小值.
public class Test {
public static void main(String[] args){
System.out.println(Math.min(Double.MIN_VALUE, 0.0d)); // 0.0
}
}
Run Code Online (Sandbox Code Playgroud)
最小值接近于零,但为什么它给出0.0而不是精确值?
请参阅JavaDoc Double.MIN_VALUE
保持double类型的最小正非零值的常量,2-1074.它等于十六进制浮点字面值0x0.0000000000001P-1022,也等于Double.longBitsToDouble(0x1L).
0.0d 因此小于 Double.MIN_VALUE