c++ - 带有浮点/ double 值的 std::numeric_limits<T>::min() 问题

标签 c++ c++11

在编写一些代码以确保用户输入有效时,我遇到了一个问题 std::numeric_limits<T>::min();其中 T 是浮点类型,即 double/float 等。

使用 -std::numeric_limits<double>::max();让我得到真正的最小值,但你会期望 std::numeric_limits<double>::min();返回那个。

为什么 std::numeric_limits<double>::min();不返回这些类型的最小可能值,而是强制我们使用 std::numeric_limits::lowest-std::numeric_limits<double>::max();

最佳答案

是的,使用 -max() 将给出最低值。

在 C++11 中还有 std::numeric_limits::lowest 对实数和整数是一致的。 http://en.cppreference.com/w/cpp/types/numeric_limits/lowest

另见 How to workaround the inconsistent definition of numeric_limits<T>::min()?

关于c++ - 带有浮点/ double 值的 std::numeric_limits<T>::min() 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22700975/

相关文章:

c++ - 软件产品应该如何处理访问冲突

c++ - Opencv 3.0 通过蓝牙广播数据

c - 如何从 std::vector<std::reference_wrapper> 获取 C 数组

c++ - decltype(some_vector)::size_type 不能用作模板参数

c++ - 使用可变模板的显式模板实例化

c++ - 可变长度数组在主函数中编译,但在类声明中不编译?

c++ - 在 Ubuntu 中包含 OpenCv 头文件

c++ - 如何填写全局偏移表?

c++ - wchar_t 数组

c++ - 具有排序问题的结构的静态数据成员的命名空间