C++ 中的 DBL_MAX 是什么?

问题描述 投票:0回答:3

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

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

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

localT.maxTemp = -DBL_MAX;
double avg = -DBL_MAX;
c++ floating-point max
3个回答
40
投票

正如其他人所说,在C++中的头文件

DBL_MAX
或C中的
<cfloat>
中定义的
<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

7
投票

它是在

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

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

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


0
投票

maximum finite representable floating-point number

如果您发现类似的内容,请查看这里


© www.soinside.com 2019 - 2024. All rights reserved.