C++常量范围

来源:互联网 发布:黔东南人口数据 编辑:程序博客网 时间:2024/05/16 17:38

有时要在程序中设置一个大的整数表示正的无穷大,熟悉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;
}

原创粉丝点击