From Wikibooks, open books for an open world
limits.h includes definitions of the characteristics of common variable types. The values are implementation specific, but may not be of lower magnitude than certain specified values in a conforming C implementation.
The C99 standard also specifies the <stdint.h>
header file, which provides names and limits for explicitly-sized platform-independent integer datatypes (e.g. int32_t
for a 32-bit signed integer).
The "minimum-magnitude value" column is the minimum possible magnitude for this constant as specified by the standard. In particular, _MIN
values represent the minimum magnitude representable in the rarely-used one's complement and sign-magnitude forms. Most implementations will have larger magnitudes for at least some of these numbers. For instance:
SCHAR_MIN
equal to −128 (and similarly for all other _MIN
values).INT_MAX
equal to +2,147,483,647 (and likewise for INT_MIN
and UINT_MAX
)MB_LEN_MAX
to 4 or more.CHAR_BIT
equal to 16 or more[1][2].CHAR_BIT
Number of bits in a char 8 ≥+8 SCHAR_MIN
Minimum value for a signed char −128 ≤−127 SCHAR_MAX
Maximum value for a signed char +127 ≥+127 UCHAR_MAX
Maximum value for an unsigned char +255 ≥+255 CHAR_MIN
Minimum value for a char −128 ≤−127
char
is represented as a
signed char
; otherwise ≤0) CHAR_MAX
Maximum value for a char +127 ≥+127
char
is represented as a
signed char
; otherwise ≥+255) MB_LEN_MAX
Maximum multi byte length of a character across all locales varies, usually at least 4 ≥+1 SHRT_MIN
Minimum value for a short int −32,768 ≤−32,767 SHRT_MAX
Maximum value for a short int +32,767 ≥+32,767 USHRT_MAX
Maximum value for an unsigned short int +65,535 ≥+65,535 INT_MIN
Minimum value for an int 16 bit compiler -32768 or −2,147,483,648 ≤−32,767 32 or 64 bit compiler −2,147,483,648 INT_MAX
Maximum value for an int 16 bit compiler +32,767 or +2,147,483,647 ≥+32,767 32 or 64 bit compiler +2,147,483,647 UINT_MAX
Maximum value for an unsigned int 16 bit compiler +65,535 or +4,294,967,295 ≥+65,535 32 or 64 bit compiler +4,294,967,295 LONG_MIN
Minimum value for a long int 16 or 32 bit compiler −2,147,483,648 ≤−2,147,483,647 64 bit compiler −2,147,483,648 or −9,223,372,036,854,775,808 LONG_MAX
Maximum value for a long int 16 or 32 bit compiler +2,147,483,647 ≥+2,147,483,647 64 bit compiler +2,147,483,647 or +9,223,372,036,854,775,807 ULONG_MAX
Maximum value for an unsigned long int 16 or 32 bit compiler +4,294,967,295 ≥+4,294,967,295 64 bit compiler +4,294,967,295 or +18,446,744,073,709,551,615 LLONG_MIN
Minimum value for a long long int −9,223,372,036,854,775,808 ≤−9,223,372,036,854,775,807 LLONG_MAX
Maximum value for a long long int +9,223,372,036,854,775,807 ≥+9,223,372,036,854,775,807 ULLONG_MAX
Maximum value for an unsigned long long int +18,446,744,073,709,551,615 ≥+18,446,744,073,709,551,615
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4