内存由位(bit)组成。字节(bytes)通常指8bit(八位组octet),但c++的字节由实现确定(不同系统,甚至同一个系统不同编译器),等于或大于8bit(具体来说,由至少能够容纳实现的字符集的相邻位组成)。
字节大小不同,同一个int的内存量不同,表示范围也不同,为了避免溢出问题,可以提前利用头文件climits内的常量确定取值范围:
climits中的符号常量
符 号 常 量 |
表 示 |
---|---|
CHAR_BIT |
char的位数 |
CHAR_MAX |
char的最大值 |
CHAR_MIN |
char的最小值 |
SCHAR_MAX |
signed char的最大值 |
SCHAR_MIN |
signed char的最小值 |
UCHAR_MAX |
unsigned char的最大值 |
SHRT_MAX |
short的最大值 |
SHRT_MIN |
short的最小值 |
USHRT_MAX |
unsigned short的最大值 |
INT_MAX |
int的最大值 |
INT_MIN |
int的最小值 |
UNIT_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的最大值 |