谷歌计算器可以计算的最小非零数似乎是 2^-1023。即 2^-1024 等于 0。
在 JAVA 中,Double.MIN_VALUE 是 2^-1074。
当在这里和互联网上阅读 JAVA 的 Double.MIN_VALUE 时,有很多提到 IEEE 754,但实际上没有一个说 2^-1074 是 IEEE 754 中定义的最小非零数。
所以我的问题是:
JAVA 的 Double.MIN_VALUE 与 IEEE 754 对最小非零数的定义有何关系?有这样的事情吗?
当显然有这样的数字时,为什么谷歌的计算器不能计算小于 2^-1023 的数字?(我知道人们不会每天都使用它们,但编程语言仍然允许使用它们)
在 JAVA 中,如果 Double.MIN_VALUE == 4.9E-324 那么为什么 (Double.MIN_VALUE + Double.MIN_VALUE) == 1.0E-323 而不是 9.8E-324,考虑到 (4.9E-5 + 4.9E-5) == 9.8E-5?
我应该向 Double.MIN_VALUE 添加多少才能使其等于零?
这是我针对这些问题制作的程序:
public class Lecture {
public static void main(String[] args) {
double min = Double.MIN_VALUE;
double max = Double.MAX_VALUE;
double minPlusOne = min + 0.0001;
System.out.println("Min + 1: " + minPlusOne);
System.out.println("Double.MIN_VALUE: " + min);
System.out.println("Double.MIN_VALUE: " + max);
double myMin = Math.pow(2, -1074);
System.out.println("2^-1074: " + myMin);
System.out.println("Double.MIN_VALUE == 2^-1074: " + (min == myMin));
System.out.println();
System.out.println("Changed Min:" + (min + min));
double a = 4.9E-5;
double b = a + a;
System.out.println(b);
}
}
慕侠2389804
蛊毒传说
慕运维8079593
相关分类