Integer Limits
The latest version of this topic can be found at Integer Limits.
Microsoft Specific**
The limits for integer types are listed in the following table. These limits are also defined in the standard header file LIMITS.H.
Limits on Integer Constants
Constant | Meaning | Value |
---|---|---|
CHAR_BIT | Number of bits in the smallest variable that is not a bit field. | 8 |
SCHAR_MIN | Minimum value for a variable of type signed char. | –128 |
SCHAR_MAX | Maximum value for a variable of type signed char. | 127 |
UCHAR_MAX | Maximum value for a variable of type unsigned char . |
255 (0xff) |
CHAR_MIN | Minimum value for a variable of type char . |
–128; 0 if /J option used |
CHAR_MAX | Maximum value for a variable of type char . |
127; 255 if /J option used |
MB_LEN_MAX | Maximum number of bytes in a multicharacter constant. | 5 |
SHRT_MIN | Minimum value for a variable of type short. | –32768 |
SHRT_MAX | Maximum value for a variable of type short. | 32767 |
USHRT_MAX | Maximum value for a variable of type unsigned short. | 65535 (0xffff) |
INT_MIN | Minimum value for a variable of type int . |
–2147483648 |
INT_MAX | Maximum value for a variable of type int . |
2147483647 |
UINT_MAX | Maximum value for a variable of type unsigned int . |
4294967295 (0xffffffff) |
LONG_MIN | Minimum value for a variable of type long. | –2147483648 |
LONG_MAX | Maximum value for a variable of type long. | 2147483647 |
ULONG_MAX | Maximum value for a variable of type unsigned long . |
4294967295 (0xffffffff) |
_I64_MIN | Minimum value for a variable of type __int64 |
-9223372036854775808 |
_I64_MAX | Maximum value for a variable of type __int64 |
9223372036854775807 |
_UI64_MAX | Maximum value for a variable of type unsigned __int64 | 18446744073709551615 (0xffffffffffffffff) |
If a value exceeds the largest integer representation, the Microsoft compiler generates an error.