7.4.5 <limits.h>

Defines various limits relating to the internal representation of integer type data.
The following macro names are all implementation-defined.

Type

Definition Name

Definition Value

Description

Constant
(macro)

CHAR_BIT

8

Indicates the number of bits in a char type value.

CHAR_MAX

127

Indicates the maximum value that can be represented by a char type variable.

255*1

CHAR_MIN

−128

Indicates the minimum value that can be represented by a char type variable.

0*1

SCHAR_MAX

127

Indicates the maximum value that can be represented by a signed char type variable.

SCHAR_MIN

−128

Indicates the minimum value that can be represented by a signed char type variable.

UCHAR_MAX

255U

Indicates the maximum value that can be represented by an unsigned char type variable.

Constant
(macro)

SHRT_MAX

32767

Indicates the maximum value that can be represented by a short type variable.

SHRT_MIN

−32768

Indicates the maximum value that can be represented by a short type variable.

USHRT_MAX

65535U

Indicates the maximum value that can be represented by an unsigned short type variable.

INT_MAX

217483647

Indicates the maximum value that can be represented by an int type variable.

INT_MIN

−2147483647−1

Indicates the minimum value that can be represented by an int type variable.

UINT_MAX

4294967295U

Indicates the maximum value that can be represented by an unsigned int type variable.

LONG_MAX

217483647L

Indicates the maximum value that can be represented by a long type variable.

LONG_MIN

−2147483647L−1L

Indicates the minimum value that can be represented by a long type variable.

ULONG_MAX

4294967295U

Indicates the maximum value that can be represented by an unsigned long type variable.

LLONG_MAX

9223372036854775807LL

Indicates the maximum value that can be represented by a long long type variable.

LLONG_MIN

−9223372036854775807LL
−1LL

Indicates the minimum value that can be represented by a long long type variable.

ULLONG_MAX

18446744073709551615ULL

Indicates the maximum value that can be represented by an unsigned long long type variable.

Notes 1.

Indicates the value that can be represented by a variable when the signed_char option is specified.