其实在头文件limits中有关于各种整型常量的取值范围和最大整型和最小整型的定义。例如,
| signed | unsigned
------------------------------------------------------------------------------------------------------------------------
类型 | 最小值 最大值 | 最大值
------------------------------------------------------------------------------------------------------------------------
字符 | SCHAR_MIN SCHAR_MAX | UCHAR_MAX
短整型 | SHRT_MIN SHRT_MAX | USHRT_MAX
整型 | INT_MIN INT_MAX | UINT_MAX
长整型 | LONG_MIN LONG_MIN | ULONG_MAX
64位整型 | LONG_LONG_MIN LONG_LONG_MAX | ULONG_LONG_MAX
有了这些预定义的常量,我们就可以在程序中直接使用它们。例如,下面的程序就可以输出无符号的64位整型,这也是目前可以表示的最大的整数
#include <iostream>
#include <limits>
using namespace std;
int main()
{
cout << ULONG_LONG_MAX << endl;
return 0;
}