c++中关于int、long、long long等取值范围
作者:ToBeTuring
这篇文章主要介绍了c++中关于int、long、long long等取值范围,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
计算方式
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位
当然了,以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。