在学习C++数据类型的过程中,发现表示整型有好几种方式,而在我们编程中常用的是int,那其他几种类型又有什么用,在什么情况下用呢?
无论是在视频或者专业书籍中,只会列出一张表,显示几种数据类型的占用空间和取值类型,通过比较来显示之间的不同。最明显的区别就是short,int,long,longlong的占用空间是不一样的。
数据类型 | 占用空间 | 取值范围 |
---|---|---|
short(短整型) | 2字节 | (-2^15 ~ 2^15-1) |
int(整型) | 4字节 | (-2^31 ~ 2^31-1) |
long(长整形) | Windows为4字节,Linux为4字节(32位),8字节(64位) | (-2^31 ~ 2^31-1) |
long long(长长整形) | 8字节 | (-2^63 ~ 2^63-1) |
如果要节省内存,且数据并不是非常大,没有超出取值范围,就可以用short;如果数据量非常大,超出int取值范围,例如人口,就需要用long。彼此之间关系为:short<int<=long<longlong。
每种类型又可以分有符号(signed)和无符号(unsigned),有符号可以表示负数,即取值为-max ~+ max。无符号数从0开始,取值为0 ~+max。