整型的大小范围是由存储空间决定的,通过编译可以看出整形的min和max的取值,由于编译器算法原因,int,long int的最小值不能直接赋值为-2147483648 ,所以需要进行 -1.
#include<iostream>
using namespace std;
//整形的范围
int main()
{
short shortMin =-32768;
short shortMax = 32768;
unsigned short ushortMin = 0;
unsigned short ushortMax = 65535;
int intMin =-2147483647 - 1; //由于编译器的问题,不能直接使用-2147483648
int intMax = 2147483647;
unsigned int uintMin = 0;
unsigned int uintMax = 4294967295;
long int longMin = -2147483647 - 1;
long int longMax = 2147483647;
unsigned long int ulongMin = 0;
unsigned long int ulongMax = 4294967295;
cout <<"short 的范围为" << shortMin <<"到" << shortMax << endl;
cout <<"unsigned short 的范围为" << ushortMin <<"到" << ushortMax << endl;
cout <<"int 的范围为" << intMin <<"到" << intMax << endl;
cout <<"unsigned int 的范围为" << uintMin <<"到" << uintMax <<endl;
cout <<"long int 的范围为" << longMin << "到" << longMax <<endl;
cout <<"unsigned long int 的范围为" << ulongMin << "到" << ulongMax << endl;
return 0;
}
这是在编译器下的各个整型的大小范围,这完全是由储存空间决定的。