Standard library header <cstdint> (C++11)
From cppreference.net
Этот заголовок изначально находился в стандартной библиотеке C как <stdint.h> .
Этот заголовок является частью библиотеки поддержки типов , предоставляющей целочисленные типы фиксированной ширины и частью интерфейса числовых ограничений C .
Типы |
||
|
int8_t
int16_t
int32_t
int64_t
(optional)
|
знаковый целочисленный тип с шириной точно 8, 16, 32 и 64 бита соответственно
без битов заполнения и использующий дополнительный код для отрицательных значений (предоставляется тогда и только тогда, когда реализация напрямую поддерживает тип) (typedef) |
|
|
int_fast8_t
int_fast16_t
int_fast32_t
int_fast64_t
|
самый быстрый знаковый целочисленный тип с шириной не менее 8, 16, 32 и 64 бит соответственно
(typedef) |
|
|
int_least8_t
int_least16_t
int_least32_t
int_least64_t
|
наименьший знаковый целочисленный тип с шириной не менее 8, 16, 32 и 64 бит соответственно
(typedef) |
|
|
intmax_t
|
знаковый целочисленный тип максимальной ширины
(typedef) |
|
|
intptr_t
(optional)
|
знаковый целочисленный тип, способный содержать указатель на
void
(typedef) |
|
|
uint8_t
uint16_t
uint32_t
uint64_t
(optional)
|
беззнаковый целочисленный тип с шириной точно 8, 16, 32 и 64 бита соответственно
(предоставляется тогда и только тогда, когда реализация напрямую поддерживает данный тип) (typedef) |
|
|
uint_fast8_t
uint_fast16_t
uint_fast32_t
uint_fast64_t
|
самый быстрый беззнаковый целочисленный тип с шириной не менее 8, 16, 32 и 64 бит соответственно
(typedef) |
|
|
uint_least8_t
uint_least16_t
uint_least32_t
uint_least64_t
|
наименьший беззнаковый целочисленный тип с шириной не менее 8, 16, 32 и 64 бит соответственно
(typedef) |
|
|
uintmax_t
|
целочисленный тип без знака максимальной ширины
(typedef) |
|
|
uintptr_t
(optional)
|
беззнаковый целочисленный тип, способный хранить указатель на
void
(typedef) |
|
Макросы |
||
Целочисленные типы со знаком : минимальное значение |
||
|
INT8_MIN
INT16_MIN
INT32_MIN
INT64_MIN
(optional)
|
минимальное значение
std::int8_t
,
std::int16_t
,
std::int32_t
и
std::int64_t
соответственно
(макроконстанта) |
|
|
INT_FAST8_MIN
INT_FAST16_MIN
INT_FAST32_MIN
INT_FAST64_MIN
|
минимальное значение
std::int_fast8_t
,
std::int_fast16_t
,
std::int_fast32_t
и
std::int_fast64_t
соответственно
(макрос-константа) |
|
|
INT_LEAST8_MIN
INT_LEAST16_MIN
INT_LEAST32_MIN
INT_LEAST64_MIN
|
минимальное значение
std::int_least8_t
,
std::int_least16_t
,
std::int_least32_t
и
std::int_least64_t
соответственно
(макрос-константа) |
|
|
INTPTR_MIN
(optional)
|
минимальное значение
std::intptr_t
(макрос-константа) |
|
|
INTMAX_MIN
|
минимальное значение
std::intmax_t
(макрос-константа) |
|
Целочисленные типы со знаком : максимальное значение |
||
|
INT8_MAX
INT16_MAX
INT32_MAX
INT64_MAX
(опционально)
|
максимальное значение
std::int8_t
,
std::int16_t
,
std::int32_t
и
std::int64_t
соответственно
(макроконстанта) |
|
|
INT_FAST8_MAX
INT_FAST16_MAX
INT_FAST32_MAX
INT_FAST64_MAX
|
максимальное значение
std::int_fast8_t
,
std::int_fast16_t
,
std::int_fast32_t
и
std::int_fast64_t
соответственно
(макрос) |
|
|
INT_LEAST8_MAX
INT_LEAST16_MAX
INT_LEAST32_MAX
INT_LEAST64_MAX
|
максимальное значение
std::int_least8_t
,
std::int_least16_t
,
std::int_least32_t
и
std::int_least64_t
соответственно
(макрос) |
|
|
INTPTR_MAX
(optional)
|
максимальное значение
std::intptr_t
(макрос-константа) |
|
|
INTMAX_MAX
|
максимальное значение
std::intmax_t
(макрос-константа) |
|
Беззнаковые целые числа: максимальное значение |
||
|
UINT8_MAX
UINT16_MAX
UINT32_MAX
UINT64_MAX
(опционально)
|
максимальное значение
std::uint8_t
,
std::uint16_t
,
std::uint32_t
и
std::uint64_t
соответственно
(макрос-константа) |
|
|
UINT_FAST8_MAX
UINT_FAST16_MAX
UINT_FAST32_MAX
UINT_FAST64_MAX
|
максимальное значение
std::uint_fast8_t
,
std::uint_fast16_t
,
std::uint_fast32_t
и
std::uint_fast64_t
соответственно
(макрос-константа) |
|
|
UINT_LEAST8_MAX
UINT_LEAST16_MAX
UINT_LEAST32_MAX
UINT_LEAST64_MAX
|
максимальное значение
std::uint_least8_t
,
std::uint_least16_t
,
std::uint_least32_t
и
std::uint_least64_t
соответственно
(макрос-константа) |
|
|
UINTPTR_MAX
(optional)
|
максимальное значение
std::uintptr_t
(макрос-константа) |
|
|
UINTMAX_MAX
|
максимальное значение
std::uintmax_t
(макрос) |
|
Ограничения других целочисленных типов |
||
|
PTRDIFF_MIN
(C++11)
|
минимальное значение
std::ptrdiff_t
(макроконстанта) |
|
|
PTRDIFF_MAX
(C++11)
|
максимальное значение
std::ptrdiff_t
(макрос-константа) |
|
|
SIZE_MAX
(C++11)
|
максимальное значение
std::size_t
(макрос-константа) |
|
|
SIG_ATOMIC_MIN
(C++11)
|
минимальное значение
std::sig_atomic_t
(макроконстанта) |
|
|
SIG_ATOMIC_MAX
(C++11)
|
максимальное значение
std::sig_atomic_t
(макрос-константа) |
|
|
WCHAR_MIN
(C++11)
|
минимальное значение
wchar_t
(макрос-константа) |
|
|
WCHAR_MAX
(C++11)
|
максимальное значение
wchar_t
(макро-константа) |
|
|
WINT_MIN
(C++11)
|
минимальное значение
std::wint_t
(макроконстанта) |
|
|
WINT_MAX
(C++11)
|
максимальное значение
std::wint_t
(макрос-константа) |
|
Макросы функций для целочисленных констант |
||
|
INT8_C
INT16_C
INT32_C
INT64_C
|
раскрывается в целочисленное константное выражение со значением, заданным его аргументом, и типом, соответствующим
продвинутому
типу
std::int_least8_t
,
std::int_least16_t
,
std::int_least32_t
и
std::int_least64_t
соответственно
(функциональный макрос) |
|
|
INTMAX_C
|
раскрывается в целочисленное константное выражение со значением, заданным аргументом, и типом
std::intmax_t
(функциональный макрос) |
|
|
UINT8_C
UINT16_C
UINT32_C
UINT64_C
|
раскрывается в целочисленное константное выражение со значением, указанным в аргументе, и типом, соответствующим
продвинутому
типу
std::uint_least8_t
,
std::uint_least16_t
,
std::uint_least32_t
и
std::uint_least64_t
соответственно
(функциональный макрос) |
|
|
UINTMAX_C
|
раскрывается в целочисленное константное выражение со значением, указанным в аргументе, и типом
std::uintmax_t
(функциональный макрос) |
|
Синопсис
namespace std { using int8_t = /* signed integer type */; // опционально using int16_t = /* signed integer type */; // опционально using int32_t = /* signed integer type */; // опционально using int64_t = /* signed integer type */; // опционально using intN_t = /* see description */; // опционально, см. описание using int_fast8_t = /* signed integer type */; using int_fast16_t = /* signed integer type */; using int_fast32_t = /* signed integer type */; using int_fast64_t = /* signed integer type */; using int_fastN_t = /* see description */; // опционально, см. описание using int_least8_t = /* signed integer type */; using int_least16_t = /* signed integer type */; using int_least32_t = /* signed integer type */; using int_least64_t = /* signed integer type */; using int_leastN_t = /* see description */; // опционально, см. описание using intmax_t = /* signed integer type */; using intptr_t = /* signed integer type */; // опционально using uint8_t = /* unsigned integer type */; // опционально using uint16_t = /* unsigned integer type */; // опционально using uint32_t = /* unsigned integer type */; // опционально using uint64_t = /* unsigned integer type */; // опционально using uintN_t = /* see description */; // опционально, см. описание using uint_fast8_t = /* unsigned integer type */; using uint_fast16_t = /* unsigned integer type */; using uint_fast32_t = /* unsigned integer type */; using uint_fast64_t = /* unsigned integer type */; using uint_fastN_t = /* see description */; // опционально, см. описание using uint_least8_t = /* unsigned integer type */; using uint_least16_t = /* unsigned integer type */; using uint_least32_t = /* unsigned integer type */; using uint_least64_t = /* unsigned integer type */; using uint_leastN_t = /* see description */; // опционально, см. описание using uintmax_t = /* unsigned integer type */; using uintptr_t = /* unsigned integer type */; // опционально } #define INTN_MIN /* see description */ #define INTN_MAX /* see description */ #define UINTN_MAX /* see description */ #define INT_FASTN_MIN /* see description */ #define INT_FASTN_MAX /* see description */ #define UINT_FASTN_MAX /* see description */ #define INT_LEASTN_MIN /* see description */ #define INT_LEASTN_MAX /* see description */ #define UINT_LEASTN_MAX /* see description */ #define INTMAX_MIN /* see description */ #define INTMAX_MAX /* see description */ #define UINTMAX_MAX /* see description */ #define INTPTR_MIN /* see description */ // опционально #define INTPTR_MAX /* see description */ // опционально #define UINTPTR_MAX /* see description */ // опционально #define PTRDIFF_MIN /* see description */ #define PTRDIFF_MAX /* see description */ #define SIZE_MAX /* see description */ #define SIG_ATOMIC_MIN /* see description */ #define SIG_ATOMIC_MAX /* see description */ #define WCHAR_MIN /* see description */ #define WCHAR_MAX /* see description */ #define WINT_MIN /* see description */ #define WINT_MAX /* see description */ #define INTN_C(value) /* see description */ #define UINTN_C(value) /* see description */ #define INTMAX_C(value) /* see description */ #define UINTMAX_C(value) /* see description */