博客链接
带符号类型(signed)可以表示正数、负数或0,无符号类型(unsigned)仅能表示大于等于0的值。C++标准并没有规定signed类型应该如何表示,但约定了在表示范围内正值和负值的量应该平衡。在计算机内部,signed类型二进制的最高位是符号位,用来表示正负,其余二进制位用来表示数值;unsigned类型的所有二进制位都用于表示数值。
类型 | 最小值 | 最小值 | 大小 |
---|---|---|---|
char | -128(-2^7) | 127(2^7-1) | 1字节 |
signed char | -128(-2^7) | 127(2^7-1) | 1字节 |
unsigned char | 0 | 255(2^8-1) | 1字节 |
short | -32768(-2^15) | 32767(2^15-1) | 2字节 |
unsigned char | 0 | 65535(2^16-1) | 2字节 |
int | -2^31 | 2^31-1 | 4字节 |
unsigned int | 0 | 2^32-1 | 4字节 |
long | -2^63</ |