什么是C ++中的DBL_MAX?

时间:2014-04-24 20:17:37

标签: c++ floating-point max

我正在查看我在网上找到的一个程序,我发现作者在少数情况下使用了DBL_MAX。我不确定它是什么,所以我研究了一下,但没有太多解释它是什么以及它用于什么。

任何人都可以解释它是什么以及为什么要使用它?

代码中使用的一些示例是:

localT.maxTemp = -DBL_MAX;
double avg = -DBL_MAX;

3 个答案:

答案 0 :(得分:25)

正如C ++中标题DBL_MAX中定义的其他人<cfloat>或C中的<float.h>所说的最大可表示有限浮点(双)数的值

在C ++中,您可以使用标题std::numeric_limits中定义的类<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;
}

在www.ideone.com(在线C ++编译器)上输出

1.79769e+308
1.79769e+308

答案 1 :(得分:3)

这是float.h<cfloat>中定义的常量。此标头描述了特定系统和所使用的编译器实现的浮动类型的特性。

DBL_MAX是最大有限可表示的浮点数。

http://en.cppreference.com/w/cpp/types/climits

答案 2 :(得分:0)

maximum finite representable floating-point number

如果发现任何类似内容,请查看here