术语宽度用于描述存储整数时使用的内存量。使用的内存越多,则越宽。
C++的基本整型(按宽度递增的顺序排列)分别是char、short、int、long和long long,其中每种类型都有符号版本和无符号版本,因此总共有10种类型可供选择。
计算机内存由一些叫做位(bit)的单元组成。
C++的short、int、long和long long通过使用不同数目的位来存储值,最多能够表示4种不同的整数宽度。
如果在所有的系统中,每种类型的宽度都相同,则使用起来将非常方便。例如,如果short总是16位,int总是32位,等。不过生活并非那么简单,没有一种选择能够满足所有的计算机设计要求。C++提供了一种灵活的标准,它确保了最小长度,如下所示:
· short至少16位;
· int至少与short一样长;
· long至少32位,且至少与int一样长;
· long long至少64位,且至少与long一样长。
//演示如何初始化,即使用声明语句将值赋给变量
//演示如何使用sizeof
#include<iostream>
#include<climits>//climits中包含了关于整型限制的信息
using namespace std;
int main()
{
int n_int = INT_MAX;
short n_short = SHRT_MAX;
long n_long = LONG_MAX;
long long n_llong = LLONG_MAX;
//sizeof可对类型名或变量名使用sizeof运算符。
//对类型名使用时,应将名称放在括号中,如下:
cout << "int is " << sizeof (int) << " bytes." << endl;
//对变量名使用时,括号是可选的,如下:
cout << "short is " << sizeof n_short << " bytes." << endl;
cout << "long is " << sizeof n_long << " bytes." << endl;
cout << "long long is " << sizeof n_llong << " bytes." << endl;
cout << endl;
cout << "Maximum values: " << endl;
cout << "int: " << n_int << endl;
cout << "short: " << n_short << endl;
cout << "long: " << n_long << endl;
cout << "long long:" << n_llong << endl;
cout << endl;
cout << "Minimum int value = " << INT_MIN << endl;
cout << "Bits per byte = " << CHAR_BIT << endl;
system("pause");
return 0;
}