整数类型
- 一、有符号整数类型和无符号整数类型
- 二、16位机的整数类型
- 三、32位机的整数类型
- 四、64位机的整数类型
- 五、C99中的整数类型
一、有符号整数类型和无符号整数类型
有符号整数如果为整数或零,那么最左边的位(符号位)为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。