C Style
limit.h 包含整数以及其他数据类型的最小值和最大值,这应该正是您所需要的:
#include <limits.h> // C header
#include <climits> // C++ header
// Constant containing the minimum value of a signed integer (–2,147,483,648)
INT_MIN;
// Constant containing the maximum value of a signed integer (+2,147,483,647)
INT_MAX;
有关常量及其常用值的完整列表,请查看:维基百科-limits.h http://en.wikipedia.org/wiki/Limits.h
C++风格
正如其他评论者提到的那样,有一个基于模板的 C++ 方法:
#include <limits>
std::numeric_limits
看起来像:
std::numeric_limits<int>::max();
它甚至可以做更巧妙的事情,例如确定可能的位数或数据类型是否有符号:
// Number of digits for decimal (base 10)
std::numeric_limits<char>::digits10;
// Number of digits for binary
std::numeric_limits<char>::digits;
std::numeric_limits<unsigned int>::is_signed;