C and C++ Integer Limits

Microsoft Specific

The limits for integer types in C and C++ are listed in the following table. These limits are defined in the C standard header file <limits.h>. The C++ Standard Library header <limits> includes <climits>, which includes <limits.h>.

Microsoft C also permits the declaration of sized integer variables, which are integral types of size 8-, 16-, 32- or 64-bits. For more information on sized integers in C, see Sized Integer Types.

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 multibyte character. 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. -2147483647 - 1
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. -2147483647 - 1
LONG_MAX Maximum value for a variable of type long. 2147483647
ULONG_MAX Maximum value for a variable of type unsigned long. 4294967295 (0xffffffff)
LLONG_MIN Minimum value for a variable of type long long. -9,223,372,036,854,775,807 - 1
LLONG_MAX Maximum value for a variable of type long long. 9,223,372,036,854,775,807
ULLONG_MAX Maximum value for a variable of type unsigned long long. 18,446,744,073,709,551,615 (0xffffffffffffffff)

If a value exceeds the largest integer representation, the Microsoft compiler generates an error.

END Microsoft Specific

See also

C Integer Constants