C++ 基本类型大小及范围
1. 短整型 short:
所占内存大小:2byte=16bit
所能表示范围:-32768~32767 (即-2^15~2^15-1)
2. 整型 int:
所占内存大小:4byte=32bit
所能表示范围:-2147483648~2147483647 (即-2^31~2^31-1)
unsigned:
所占内存大小:4byte=32bit
所能表示范围:0~4294967295 (即0~2^32-1)
3. 长整型 long:
所占内存大小:4byte=32bit
所能表示范围:-2147483648~2147483647 (即-2^31~2^31-1)
unsigned long:
所占内存大小:4byte=32bit
所能表示范围:0~4294967295 (即0~2^32-1)
以上short,int,long都默认为有符号型,其中long和int都占4个字节的空间大小。
16位操作系统:long:4字节,int:2字节
32位操作系统:long:4字节,int:4字节
64位操作系统:long:8字节,int:4字节
4. 字符型 char:
所占内存大小:1byte=8bit
所能表示范围:(unsigned和singned中之一)
unsigned char:
所占内存大小:1byte=8bit
所能表示范围:0~255;(0~2^8-1)
singned char:
所占内存大小:1byte=8bit
所能表示范围:-128~127 (-2^7~2^7-1)
5. 布尔类型 bool:
所占内存大小:1byte=8bit
所能表示的范围:false或者true;最小值:0 最大值:1
6. 单精度 float:
所占内存大小:4byte=32bit
所能表示的范围:(1.17549e-038)~(3.40282e+038)
7. 双精度 double:
所占内存大小:8byte=64bit
所能表示的范围:(2.22507e-308)~(1.79769e+308)
8. 字符串 string:
string在c++中属于类类型,不属于数据类型,类不能计算其在内存中所占大小,如果用sizeof(string)的话,一般结果是
sizeof(string)=4byte,如果string字符串内容很多,就会溢出,所以就不是其真实大小,string类里面有计算其字节大小的函数如:size() length()