浮点-什么是C++中的DBL_MAX
floating point - What is DBL_MAX in C++?
我在网上找到了一个程序,发现作者在少数情况下使用了DBL_MAX。我不确定它是什么,所以我研究了一下,但没有太多解释它是什么以及它的用途。
有人能解释一下它是什么以及你为什么要使用它吗?
代码中的一些使用示例如下:
localT.maxTemp = -DBL_MAX;
double avg = -DBL_MAX;
正如其他人所说,C++中<cfloat>
或C中<float.h>
中定义的DBL_MAX
是最大可表示有限浮点(双)数的值
在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;
}
在www.ideone.com(在线C++编译器)上,输出为
1.79769e+308
1.79769e+308
它是在float.h
或<cfloat>
中定义的常数。此标头描述特定系统的浮点类型的特性以及所使用的编译器实现。
DBL_MAX
是可表示的最大有限浮点数。
http://en.cppreference.com/w/cpp/types/climits
maximum finite representable floating-point number
。
如果你发现类似的东西,可以看看这里。
相关文章:
- <streamsize>C++ 中 numeric_limits::max() 的值
- 黑客级别的Mini-Max Sum
- 'max'匹配'std::function<const int &(const int &, const int &)>'无过载
- 关于 std::min, std::max 中的比较运算符的混淆
- 找到一种有效的方法,在 2 个巨大的缓冲区上执行 MAX,每字节字节
- std::max() 函数与定点实现的比较中的问题
- 使用 CImg 库的 std::min 和 std::max 的编译问题
- 在 3ds Max 中更新进度条后,环境和效果 UI 不刷新
- 从自定义类获取对象向量中的 max 元素
- 如何在C++中递归地找到max元素的索引?
- SFINAE 与 numeric_limits<T>::max() 在 MSVC2017 上
- 这句话是什么意思 - " vector<long long> distance(n, std::numeric_limits<long long>::max()); "?
- 在f2c.h文件中定义min()max()宏时出错
- c++curl返回413请求实体过大,但是post大小远小于max大小
- 在枚举类型上使用std::max是不是一种糟糕的做法
- 为什么Visual Studio 2019不支持用于减少Openmp的关键字"max"?
- 没有函数模板的实例"max"与参数列表参数类型匹配(int、int)
- 如何在 C++11 中将 std::max 与自定义比较器一起使用?
- 为什么在这种情况下不能将 Max 用作函数?
- 为什么 UInt64 变量不能包含大于 UInt32::Max 的值?