在C++中,获取可以存储在float
中的最大值的最佳跨平台方法是什么?
std::numeric_limits<float>::max()
{{链接1:std::numeric_limits}}
// numeric_limits example
#include <iostream>
#include <limits>
using namespace std;
int main () {
cout << "Minimum value for float: " << numeric_limits<float>::min() << endl;
cout << "Maximum value for float: " << numeric_limits<float>::max() << endl;
cout << "Minimum value for double: " << numeric_limits<double>::min() << endl;
cout << "Maximum value for double: " << numeric_limits<double>::max() << endl;
return 0;
}
在C++中,您可以使用std::numeric_limits
类来获取这种类型的信息。
如果has_infinity
为true
(现在基本上所有平台都是真的),那么您可以使用infinitity
来获得大于或等于所有其他值(除了NaN)的值。同样,它的否定将给出一个负无穷大,并且小于或等于所有其他值(再次排除NaN)。
#include <float.h>
然后使用FLT_MAX