我在查看一份我在线上找到的程序,发现作者在几个情况下使用了DBL_MAX。我不确定它是什么,所以进行了一些研究,但并没有太多解释它是什么以及它的用途。
有人能解释一下它是什么以及为什么应该使用它吗?
代码中使用它的一些示例:
localT.maxTemp = -DBL_MAX;
double avg = -DBL_MAX;
我在查看一份我在线上找到的程序,发现作者在几个情况下使用了DBL_MAX。我不确定它是什么,所以进行了一些研究,但并没有太多解释它是什么以及它的用途。
有人能解释一下它是什么以及为什么应该使用它吗?
代码中使用它的一些示例:
localT.maxTemp = -DBL_MAX;
double avg = -DBL_MAX;
正如其他人所说的那样,在C++中,DBL_MAX
定义在头文件<cfloat>
或C语言中的<float.h>
中,是表示最大可表示有限浮点数(双精度)的值。
在C++中,您可以使用头文件<limits>
中定义的std::numeric_limits
类来获取相同的值。
std::numeric_limits<double>::max()
以下是同时使用这两种方法的示例:
#include <iostream>
#include <cfloat>
#include <limits>
int main()
{
std::cout << DBL_MAX << std::endl;
std::cout << std::numeric_limits<double>::max() << std::endl;
return 0;
}
在在线C++编译器www.ideone.com上,输出为
1.79769e+308
1.79769e+308
这是在float.h
或<cfloat>
中定义的一个常量。该头文件描述了特定系统和编译器实现所用的浮点类型的特征。
DBL_MAX
是最大的有限可表示浮点数。