The <climits> header (from the C standard
<limits.h> header) defines parameters that
characterize integral types in the same way
<cfloat> does for the floating point types.
The native C++ header, <limits>, defines the
same information (and more) using templates instead of macros.
The types used in the descriptions of the _MIN and
_MAX macros are meant as reminders and are not
descriptive of the actual types of the macro expansions. The actual
types are implementation-defined and can be any integral type that
would be the result of normal integral promotions for the
corresponding typee.g., if unsigned
char is promoted to int,
UCHAR_MAX might have type int.
All of the macros in <climits> expand to
constant expressions.
CHAR_BIT macro |
Bits per character
|
Number of bits per character. The value is always at least 8.
CHAR_MAX macro |
Maximum char value
|
Maximum value for the char type. (Remember that
the char type is the same as either
signed char or
unsigned char, so
CHAR_MAX has the same value as
SCHAR_MAX or UCHAR_MAX.)
See Also
WCHAR_MAX in <cwchar>
CHAR_MIN macro |
Minimum char value
|
Minimum value for the char type (the same value as
SCHAR_MIN or 0).
See Also
WCHAR_MIN in <cwchar>
INT_MAX macro |
Maximum int value
|
Maximum value for the int type. The value is
always at least 32,767.
INT_MIN macro |
Minimum int value
|
Minimum value for the int type. The value is
always less than or equal to -32,767.
LONG_MAX macro |
Maximum long value
|
Maximum value for the long int
type. The value is always at least 2,147,483,647.
LONG_MIN macro |
Minimum long value
|
Minimum value for the long int
type. The value is always less than or equal to -2,147,483,647.
MB_LEN_MAX macro |
Maximum bytes in a multibyte character
|
Maximum number of bytes in any multibyte character, in any locale.
The value is always at least 1.
SCHAR_MAX macro |
Maximum signed char value
|
Maximum value for the signed
char type. The value is always at least 127.
SCHAR_MIN macro |
Minimum signed char value
|
Minimum value for the signed
char type. The value is always less than or equal
to -127.
SHRT_MAX macro |
Maximum short value
|
Maximum value for the short type. The value is
always at least 32,767.
SHRT_MIN macro |
Minimum short value
|
Minimum value for the short type. The value is
always less than or equal to -32,767.
UCHAR_MAX macro |
Maximum unsigned char value
|
Maximum value for the unsigned
char type. The value is always at least 255.
UINT_MAX macro |
Maximum unsigned int value
|
Maximum value for the unsigned
int type. The value is always at least 65,535.
ULONG_MAX macro |
Maximum unsigned long value
|
Maximum value for the unsigned
long type. The value is always at least
4,294,967,295.
USHRT_MAX macro |
Maximum unsigned short value
|
Maximum value for the unsigned
short type. The value is always at least
65,535.