为什么 -(Double.MAX_VALUE) 小于 Double.MIN_VALUE?
Why is -(Double.MAX_VALUE) smaller than Double.MIN_VALUE?
public class test {
public static void main(String[] args) {
double num = -Double.MAX_VALUE;
double num1 = Double.MIN_VALUE;
if (num < num1)
System.out.println("num");
else
System.out.println("num1");
}
}
我写这段代码是为了检查哪个更小,它是 return num,我想知道为什么它是双精度而不是整数?
见https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html
Double.MAX_VALUE
是 double 可以容纳的最大有限数。 (一个非常大的正数。)
Double.MIN_VALUE
是double能容纳的最小正数。 (一个非常小的正数。)
所以-Double.MAX_VALUE
是一个非常大的负数。这比一个非常小的正数要小。
相反,Integer.MIN_VALUE
是 int 可以容纳的最大负数。它与 Double 中同名常量的含义不同。
MAX_VALUE
是“一个常量,保持双精度类型的最大正有限值,(2-2-52)·21023.",即一个大的正数。
MIN_VALUE
是“一个保持最小正非零值的常量,double 类型,2-1074”,即一个小的正数。
因此,-MAX_VALUE
是一个大负数,小于零,小于一个小正数 number.small 正数。
public class test {
public static void main(String[] args) {
double num = -Double.MAX_VALUE;
double num1 = Double.MIN_VALUE;
if (num < num1)
System.out.println("num");
else
System.out.println("num1");
}
}
我写这段代码是为了检查哪个更小,它是 return num,我想知道为什么它是双精度而不是整数?
见https://docs.oracle.com/javase/8/docs/api/java/lang/Double.html
Double.MAX_VALUE
是 double 可以容纳的最大有限数。 (一个非常大的正数。)
Double.MIN_VALUE
是double能容纳的最小正数。 (一个非常小的正数。)
所以-Double.MAX_VALUE
是一个非常大的负数。这比一个非常小的正数要小。
相反,Integer.MIN_VALUE
是 int 可以容纳的最大负数。它与 Double 中同名常量的含义不同。
MAX_VALUE
是“一个常量,保持双精度类型的最大正有限值,(2-2-52)·21023.",即一个大的正数。MIN_VALUE
是“一个保持最小正非零值的常量,double 类型,2-1074”,即一个小的正数。
因此,-MAX_VALUE
是一个大负数,小于零,小于一个小正数 number.small 正数。