您好我在java中面临一个我无法调试的问题。
我已将双变量设为
double minMean = (Double.MIN_VALUE);
我有另一个双变量
double mean = -5000;
当我尝试以下条件时
if( mean>minMean)
print mean
“打印平均值”行未执行。任何指示为什么这不起作用,
答案 0 :(得分:6)
Double.MIN_VALUE
是最小正值。最小有限负值只是Double.MAX_VALUE
,前面有-
符号:
double minMean = -Double.MAX_VALUE;
IEEE 754浮点数将MSB位保留为符号位。因此,您的正数与负数相同。您只需要翻转符号位即可获得负值。
答案 1 :(得分:4)
来自Double.MIN_VALUE
的文档:
A constant holding the smallest positive nonzero value of type double, 2-1074
由于你的号码是负数,所以不会更大。
答案 2 :(得分:4)
你错了MIN_VALUE的意思:
MIN_VALUE
一个常量,保持double类型的最小正非零值,2-1074。
最小的正面,即MIN_VALUE > 0
答案 3 :(得分:0)
我试过这个并找到了
System.out.println("Min value is "+Double.MIN_VALUE);
最小值为4.9E-324
您的打印命令未执行,因为您没有。更大。