17 Language support library [support] (original) (raw)

17.4 Arithmetic types [support.arith.types]

17.4.1 Header synopsis [cstdint.syn]

The header supplies integer types having specified widths, and macros that specify limits of integer types.

The header defines all types and macros the same as the C standard library header .

The types denoted by intmax_t and uintmax_tare not required to be able to represent all values of extended integer types wider than long long and unsigned long long, respectively.

See also: ISO/IEC 9899:2024, 7.22

All types that use the placeholder _N_are optional when _N_is not 8, 16, 32, or 64.

The exact-width typesint_N__t and uint_N__tfor N = 8, 16, 32, and 64are also optional; however, if an implementation defines integer types with the corresponding width and no padding bits, it defines the corresponding typedef-names.

Each of the macros listed in this subclause is defined if and only if the implementation defines the corresponding typedef-name.

[Note 1:

The macros INT_N__C and UINT_N__Ccorrespond to the typedef-names int_least_N__t and uint_least_N__t, respectively.

— _end note_]