C 和 C++ 整数限制
Microsoft 专用
下表列出了 C 和 C++ 整数类型的限制。 这些限制在 C 标准标头文件 <limits.h>
中定义。 C++ 标准库标头 <limits>
包括 <climits>
,其中包括 <limits.h>
。
Microsoft C 还允许声明固定大小的整数变量,即大小为 8 位、16 位、32 位或 64 位的整数类型。 有关 C 中固定大小整数的详细信息,请参阅固定大小整数类型。
对整数常量的限制
常量 | 含义 | “值” |
---|---|---|
CHAR_BIT | 不是位域的最小变量中的位数。 | 8 |
SCHAR_MIN | signed char 类型的变量的最小值。 |
-128 |
SCHAR_MAX | signed char 类型的变量的最大值。 |
127 |
UCHAR_MAX | unsigned char 类型的变量的最大值。 |
255 (0xff) |
CHAR_MIN | char 类型的变量的最小值。 |
-128;如果使用了 /J 选项,则为 0 |
CHAR_MAX | char 类型的变量的最大值。 |
127;如果使用了 /J 选项,则为 255 |
MB_LEN_MAX | 多字节字符中的最大字节数。 | 5 |
SHRT_MIN | short 类型的变量的最小值。 |
-32768 |
SHRT_MAX | short 类型的变量的最大值。 |
32767 |
USHRT_MAX | unsigned short 类型的变量的最大值。 |
65535 (0xffff) |
INT_MIN | int 类型的变量的最小值。 |
-2147483647 - 1 |
INT_MAX | int 类型的变量的最大值。 |
2147483647 |
UINT_MAX | unsigned int 类型的变量的最大值。 |
4294967295 (0xffffffff) |
LONG_MIN | long 类型的变量的最小值。 |
-2147483647 - 1 |
LONG_MAX | long 类型的变量的最大值。 |
2147483647 |
ULONG_MAX | unsigned long 类型的变量的最大值。 |
4294967295 (0xffffffff) |
LLONG_MIN | long long 类型的变量的最小值。 |
-9,223,372,036,854,775,807 - 1 |
LLONG_MAX | long long 类型的变量的最大值。 |
9,223,372,036,854,775,807 |
ULLONG_MAX | unsigned long long 类型的变量的最大值。 |
18,446,744,073,709,551,615 (0xffffffffffffffff) |
如果值超出了最大整数表示形式,则 Microsoft 编译器会产生错误。
结束 Microsoft 专用