一、有符号整数类型和无符号整数类型
有符号 整数如果为整数或零,那么最左边的位(符号位 )为0;如果是负数,则符号位为1.因此,最大的16位整数的二进制表示是0111111111111111,对应的数值是32767(即2的15次方➖1)。最大的32位整数的二进制是01111111111111111111111111111111,对应的数值是2147483647(即2的31次方➖1)。不带符号位(最左边的位是数值的一部分)的整数称为无符号 整数。最大的16位无符号整数是65535(即2的16次方➖1),而最大的32位无符号整数是4294967295(即2的32次方➖1)。
二、16位机的整数类型
类型 范围 short int -32 768~32 767 unsigend short int 0~65 535 int -32 768~32 767 unsigend int 0~65 535 long int -2 147 483 648~2 147 483 647 unsignned long int 0~4 294 967 295
三、32位机的整数类型
类型 范围 short int -32 768~32 767 unsigend short int 0~65 535 int -2 147 483 648~2 147 483 647 unsigend int 0~4 294 967 295 long int -2 147 483 648~2 147 483 647 unsignned long int 0~4 294 967 295
四、64位机的整数类型
类型 范围 short int -32 768~32 767 unsigend short int 0~65 535 int -2 147 483 648~2 147 483 647 unsigend int 0~4 294 967 295 long int -9 223 372 036 854 775 808~9 223 372 036 854 775 807 unsignned long int 0~18 446 744 073 709 551 615
五、C99中的整数类型
C99提供了两个额外的标准整数类型:long long int 和unsigned long long int。一是为了满足日益增长的对超大型整数的需求,二是为了适应支持64位运算的新处理器的能力。这两个long long类型要求至少64位宽,所以long long int类型值的范围通常为**-2的63次方~2的63次方-1**,而unsigned long long int类型值的范围通常为0~2的64次方-1 。