双重比较-数字限制

Double comparison - numeric limits

本文关键字:数字 比较      更新时间:2023-10-16

我很难理解以下代码:

double a = -1000;
double b = numeric_limits<double>::min();
if (a < b)
{
   cout << "why?";
}

输出为:

为什么?

-1000怎么可能低于numeric_limits<double>::min()

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