《C和指针》笔记7: int和char数据类型的范围

数据类型 字节数 位数 范围
char 1 8位 -128-127 ( − 2 7 − 2 7 − 1 ) (-2^7 - 2^7-1) (27271)
signed char 1 8位 -128-127 ( − 2 7 − 2 7 − 1 ) (-2^7 - 2^7-1) (27271)
unsigned char 1 8位 0-255 ( 0 − 2 8 − 1 ) (0 - 2^8-1) (0281)
short int 2 16位 -32768~32767 ( − 2 15 − 2 15 − 1 ) (-2^{15} - 2^{15}-1) (2152151)
unsigned short int 2 16位 0-65535 ( 0 − 2 16 − 1 ) (0 - 2^{16}-1) (02161)
int(这里是16位 2 16位 -32768-32767 ( − 2 15 − 2 15 − 1 ) (-2^{15} - 2^{15}-1) (2152151)
unsigned int (这里是16位 2 16位 0-65535 ( 0 − 2 16 − 1 ) (0 - 2^{16}-1) (02161)
long int (这里是32位) 4 32位 -2147483648-2147483647 ( − 2 31 − 2 31 − 1 ) (-2^{31} - 2^{31}-1) (2312311)
unsigned long int (这里是32位) 4 32位 0-4294967295 ( 0 − 2 32 − 1 ) (0 - 2^{32}-1) (02321)

注意下面一句话:short int至少16位,long int至少32位。至于缺省的int究竟是16位还是32位,或者是其他值,则由编译器设计者决定。通常这个选择的缺省值是这种机器最为自然(高效)的位数。

具体多少位可以用sizeof函数打印查看一下。具体可以参考

C语言int的取值范围

参考

  1. 《C和指针》

你可能感兴趣的:(C和C++,c语言,笔记,int,char)