整型
1字节(byte)=8位(bit) (b)
short 短整型 16位 2字节 unsigned :0~(2^16)-1 【65535】 signed:-2^15~(2^15)-1 【-32768~32767】
int 整型 32位 4字节 unsigned :0~(2^32)-1 【4294967295】 signed:-2^15~(2^15)-1 【-2147483648~2147483647】
long 长整型 32位 4字节 范围同int
long long 长整型 64位 8字节 unsigned :0~(2^64)-1 【18446744073709551615】 signed:-2^63~(2^63)-1 【-9223372036854775808~9223372036854775807】
字符型
char 1字节
浮点型
float 单精度 4字节 【1.17549e-38~3.40282e+38】
double 双精度 8字节 【2.22507e-308~ 1.79769e+308】
精度如上,但也可以是负数。
bool
bool true(1) or false(0) 1字节
size_t
64位机 8字节 0~18446744073709551615
32位机 4字节 【0~4294967295】
size_t是C/C++有的数据类型,与位数平台有关,只有最低位数没有最高位数,使代码的可移植性强。如果在什么平台结果都一样不是可移植性的表现嘛?
string
64位机 40字节
32位机 28字节
注:整型,浮点,字符,bool 所占存储空间与机型(64位 or 32位)无关
返回数据类型位数与表示范围的语句:
cout << "short:" << "所占字节数" << sizeof(short);
cout << "\t最大值:" << (numeric_limits<unsigned short>::max)();
cout << "\t最小值:" << (numeric_limits<short>::min)()<<endl;