双重比较 - 数字限制

时间:2015-11-20 20:32:35

标签: c++

我在理解以下代码时遇到一些麻烦:

double a = -1000;
double b = numeric_limits<double>::min();

if (a < b)
{
   cout << "why?";
}

输出是:

  

为什么?

-1000如何低于numeric_limits<double>::min()

1 个答案:

答案 0 :(得分:9)

这是因为numeric_limits<double>::min();是双浮点精度中可表达的最低正数,而不是最负数。