C++中的整形字节数
作者:miss_future
这篇文章主要介绍了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的最大值 |
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。