C++整形字节数
整形short、int、long、long long规定如下
- short至少16位
- int至少与short一样长
- long至少32位,且至少与int一样长
- long long至少64位,且至少与long一样长
以64位win7系统为例
| 类型 | 字节数(byte) |
|---|---|
| char | 1 |
| short | 2 |
| int | 4 |
| long | 4 |
| long long | 8 |
32位程序整形数据类型表示的范围(32位与64位区别在于long 和unsigned long的字节数不同)
| C数据类型 | 最小值 | 最大值 |
|---|---|---|
| char | -128 | 127 |
| unsigned char | 0 | 255 |
| short | -3 2768 | 3 2767 |
| unsigned short | 0 | 6 5535 |
| int | -21 4748 3648 | 21 4786 3647 |
| unsigned int | 0 | 42 9496 7295 |
| long | -21 4748 3648 | 21 4786 3647 |
| unsigned long | 0 | 42 9496 7295 |
| int32_t | -21 4748 3648 | 21 4786 3647 |
| uint32_t | -21 4748 3648 | 21 4786 3647 |
| int64_t | -922 3372 0368 5477 5808 | 922 3372 0368 5477 5807 |
| uint64_t | 0 | 1844 6744 0737 0955 1615 |
64位程序整形数据类型表示的范围
| C数据类型 | 最小值 | 最大值 |
|---|---|---|
| char | -128 | 127 |
| unsigned char | 0 | 255 |
| short | -3 2768 | 3 2767 |
| unsigned short | 0 | 6 5535 |
| int | -21 4748 3648 | 21 4786 3647 |
| unsigned int | 0 | 42 9496 7295 |
| long | -922 3372 0368 5477 5808 | 922 3372 0368 5477 5807 |
| unsigned long | 0 | 1844 6744 0737 0955 1615 |
| int32_t | -21 4748 3648 | 21 4786 3647 |
| uint32_t | -21 4748 3648 | 21 4786 3647 |
| int64_t | -922 3372 0368 5477 5808 | 922 3372 0368 5477 5807 |
| uint64_t | 0 | 1844 6744 0737 0955 1615 |
头文件climits定义了符号常量,如下表所示:
| 符号常量 | 表示 |
|---|---|
| CHAR_BIT | char的位数 |
| CHAR_MAX | char的最大值 |
| CHAR_MIN | char的最小值 |
| SCHR_MAX | signed char的最大值 |
| SCHAR_MIN | signed char的最小值 |
| UCHAR_MAX | unsigned char的最大值 |
| SHTR_MAX | short的最大值 |
| SHRT_MIN | short的最小值 |
| USHRT_MAX | unsigned short的最大值 |
| INT_MAX | int的最大值 |
| INT_MIN | int的最小值 |
| UINT_MAX | unsigned int的最大值 |
| LONG_MAX | long的最大值 |
| LONG_MIN | long的最小值 |
| ULONG_MAX | unsigned long的最大值 |
| LLONG_MAX | long long的最大值 |
| LLONG_MIN | long long的最小值 |
| ULLONG_MAX | unsigned long long的最大值 |
本文详细介绍了C++中各种整型数据类型的字节数和表示范围,包括short、int、long、longlong等,并对比了32位与64位系统下数据类型的不同。此外,还列举了climits头文件中定义的符号常量。
969

被折叠的 条评论
为什么被折叠?



