比较运算符问题

时间:2013-10-04 08:29:23

标签: java math

您好我在java中面临一个我无法调试的问题。

我已将双变量设为

double minMean = (Double.MIN_VALUE);

我有另一个双变量

double mean = -5000;

当我尝试以下条件时

  if( mean>minMean)
             print mean

“打印平均值”行未执行。任何指示为什么这不起作用,

4 个答案:

答案 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

您的打印命令未执行,因为您没有。更大。