有时要在程序中设置一个大的整数表示正的无穷大,熟悉PASCAL的人都知道有两个经常用到的符号常量叫MAXINT和MAXLONGINT。C++中该怎么办呢?
其实在头文件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;
}
此外,要给一个long long 型整数直接赋一个特别大的整数时,需要在整数后加后缀LL,否则会报告整数超过范围的错误。
如下例:
#include <iostream>
#include <limits>
using namespace std;
int main()
{
long long x = 123456789012345LL; //不加后缀LL就会在编译时出错。
cout << x << endl;
return 0;
}
C++常量范围
最新推荐文章于 2023-11-29 11:35:31 发布