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 編譯器會產生錯誤。
END Microsoft Specific