计算方式:
32位无符号整数 , 其表示范围是2的32次方,最大整数为 2的32次方-1
有符号数则要去除一个符号位,正数最大为2的31次方-1 , 负数最小为负 2的31次方
从百度中查阅了一下,有说最大是32767(对应16位),有说最大是2147483647(对应32位)
理论上:
int 在32位系统中为 4字节,也就是32位。在一些16位系统中,int 为2字节,在64位系统中int为8字节
但实际上在64位系统中,int类型的数值达不到8字节
通过查阅资料了解到:
C/C++中,整型数据是用int来进行定义的,整型的范围就是指int类型所能表示的整数的范围。在32位或64位机器中,int占4个字节,即32位。
如果实在不知道大小,可以通过实验得到:
int a;
cin>>a;
cout<<a<<endl;
输入值:1000000000000000000000000000000000000000000
结果:
1000000000000000000000000000000000000000000
2147483647
输入值:-1000000000000000000000000000000000000000000
结果:
-1000000000000000000000000000000000000000000
-2147483648
由此可以得到int的最大值2147483647
int的最小值-2147483648
总结:
C/c++中 int、long、long long等取值范围
unsigned int 0~4294967295
int -2147483648~2147483647
unsigned long 0~4294967295
long -2147483648~2147483647
long long的最大值:9223372036854775807
long long的最小值:-9223372036854775808
unsigned long long的最大值:18446744073709551615 //20位