Java 为什么Double的最小值返回为0.0
为什么下面的程序输出是0.0。返回Double的最小值Java 为什么Double的最小值返回为0.0,java,Java,为什么下面的程序输出是0.0。返回Double的最小值 public class Test { public static void main(String[] args){ System.out.println(Math.min(Double.MIN_VALUE, 0.0d)); // 0.0 } } 最小值接近于零,但为什么它给出的是0.0而不是精确值?请参阅JavaDoc中的Double.min\u值 包含double类型的最小正非零值的常数, 2-107
public class Test {
public static void main(String[] args){
System.out.println(Math.min(Double.MIN_VALUE, 0.0d)); // 0.0
}
}
最小值接近于零,但为什么它给出的是0.0而不是精确值?请参阅JavaDoc中的
Double.min\u值
包含double类型的最小正非零值的常数,
2-1074. 它等于十六进制浮点文字
0x0.0000000000001P-1022,也等于
Double.longBitsToDouble(0x1L)
因此,
0.0d
小于Double.MIN\u值
请参阅JavaDoc以了解Double.MIN\u值
包含double类型的最小正非零值的常数,
2-1074. 它等于十六进制浮点文字
0x0.0000000000001P-1022,也等于
Double.longBitsToDouble(0x1L)
0.0d
因此小于Double。最小值
可能重复:问题是它为什么打印0.0而不是最近的值。没有从现有问题中得到,这就是为什么被问的原因。可能重复:问题是它为什么打印0.0而不是最近的值。没有从现有问题中得到,这就是为什么我问。