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()