C++官方参考链接:https://cplusplus.com/reference/climits/
头文件
<climits> (limits.h)
整型的大小
此头文件为所使用的特定系统和编译器实现定义了具有基本整数类型限制的常量。
基本浮点类型的限制定义在<cfloat>(float.h)中。
宽度特定的整型和其他类型定义类型的限制定义在<cstdint>(stdint.h)中。
宏常量
name | expresses | possible value* |
---|---|---|
CHAR_BIT | Number of bits in a char object (byte) | 8 or greater* |
SCHAR_MIN | Minimum value for an object of type signed char | -127 (-2^7+1 ) or less* |
SCHAR_MAX | Maximum value for an object of type signed char | 127 (2^7-1 ) or greater* |
UCHAR_MAX | Maximum value for an object of type unsigned char | 255 (2^8-1 ) or greater* |
CHAR_MIN | Minimum value for an object of type char | either SCHAR_MIN or 0 |
CHAR_MAX | Maximum value for an object of type char | either SCHAR_MAX or UCHAR_MAX |
MB_LEN_MAX | Maximum number of bytes in a multibyte character, for any locale | 1 or greater* |
SHRT_MIN | Minimum value for an object of type short int | -32767 (-2^15+1 ) or less* |
SHRT_MAX | Maximum value for an object of type short int | 32767 (2^15-1 ) or greater* |
USHRT_MAX | Maximum value for an object of type unsigned short int | 65535 (2^16-1 ) or greater* |
INT_MIN | Minimum value for an object of type int | -32767 (-2^15+1 ) or less* |
INT_MAX | Maximum value for an object of type int | 32767 (2^15-1 ) or greater* |
UINT_MAX | Maximum value for an object of type unsigned int | 65535 (2^16-1 ) or greater* |
LONG_MIN | Minimum value for an object of type long int | -2147483647 (-2^31+1 ) or less* |
LONG_MAX | Maximum value for an object of type long int | 2147483647 (2^31-1 ) or greater* |
ULONG_MAX | Maximum value for an object of type unsigned long int | 4294967295 (2^32-1 ) or greater* |
LLONG_MIN | Minimum value for an object of type long long int | -9223372036854775807 (-2^63+1 ) or less* |
LLONG_MAX | Maximum value for an object of type long long int | 9223372036854775807 (2^63-1 ) or greater* |
ULLONG_MAX | Maximum value for an object of type unsigned long long int | 18446744073709551615 (2^64-1 ) or greater* |
*实际值取决于特定的系统和库实现,但应反映这些类型在目标平台的限制。
兼容性
LLONG_MIN、LLONG_MAX和ULLONG_MAX是为符合1999年或以后的C标准(只包括2011年以后的C++标准:C++11)的库定义的。