- stdint.h
-
Стандартная библиотека
языка программирования Сstdint.h — заголовочный файл стандартной библиотеки языка Си, введённый стандартом C99. Заголовочный файл объявляет несколько целочисленных типов и макросов.[1]
Типы
Заголовочный файл объявляет целочисленные типы, которые имеют заданный размер, имеют заданный минимальный размер, имеют заданный максимальный размер и являются наиболее быстрыми при использовании.[1] В дополнение к ним стандарт объявляет макросы, устанавливающие размер этих типов. Платформа должна поддерживать, как минимум, ряд целочисленных типов заданных размеров:
Тип Разрядность Набор значений int_least8_t как минимум, 8 бит [-127;127] int_least16_t как минимум, 16 бит [- 32767; 32767] int_least32_t как минимум, 32 бита [- 2147483647; 2147483647] int_least64_t как минимум, 64 бита [- (2^63 - 1); 2^63 - 1] uint_least8_t как минимум, 8 бит [0; 255] uint_least16_t как минимум, 16 бит [0; 65535] uint_least32_t как минимум, 32 бита [0; 4294967295] uint_least64_t как минимум, 64 бит [0; 2^64 - 1] int_fast8_t как минимум, 8 бит [-127; 127] int_fast16_t как минимум, 16 бит [- 32767; 32767] int_fast32_t как минимум, 32 бита [- 2147483647; 2147483647] int_fast64_t как минимум, 64 бита [- (2^63 - 1); 2^63 - 1] uint_fast8_t как минимум, 8 бит [0; 255] uint_fast16_t как минимум, 16 бит [0; 65535] uint_fast32_t как минимум, 32 бита [0; 4294967295] uint_fast64_t как минимум, 64 бит [0; 2^64 - 1] Заданные типы имеют, как минимум, 8, 16, 32 и 64 бита соответственно. [1] Приставка
u
означает, что этот тип является беззнаковым и содержит целые числа, как минимум, от нуля до включительно. Таким образом, типuint_least8_t
должен существовать и содержать числа от нуля до 255 включительно.Платформа может поддерживать указатели на знаковые и беззнаковые целочисленные типы:
int_ptr_t
иuintptr_t
.[1] Платформа обязана в рамках стандарта С99 поддерживать следующие типы:int_max_t
,uint_max_t
, которые могут представлять максимальные целочисленные значения.Макросы
Заголовочный файл объявляет наборы макросов, которые содержат минимальные и максимальные значения целочисленных типов.[1]
Макрос Значение INTN_MIN INTN_MAX UINTN_MAX INT_LEASTN_MIN INT_LEASTN_MAX UINT_LEASTN_MAX INT_FASTN_MIN INT_FASTN_MAX UINT_FASTN_MAX INT_PTR_MIN INT_PTR_MAX UINTPTR_MAX INTMAX_MIN INTMAX_MAX UINTMAX_MAX PTRDIFF_MIN PTRDIFF_MAX SIZE_MAX[2] 65535 Стандарт также определяет размер типов sig_atomic_t, который может содержать значения либо [-127; 127], либо [0; 255]. Для типа
wchar_t
установлены такие же ограничения, только они являются минимальными. Типwint_t
, если определён, должен содержать, как минимум, либо значения [-32767; 32767], либо [0; 65535].Макросы
INTN_C(value)
,INTMAX_C(value)
,UINTMAX_C(value)
должны раскрываться в целочисленные константные выражения со значением value и с размерностью INT_LEASTN_T,intmax_t
иuintmax_t
соответственно. К примеру, на 64 разрядной машине выражение UINT64_C(123) должно преобразоваться в константу123ULL
.[1]Примечания
Категория:- Стандартные библиотечные заголовки языка Си
Wikimedia Foundation. 2010.