Главная
Новости
Строительство
Ремонт
Дизайн и интерьер




27.01.2021


27.01.2021


27.01.2021


27.01.2021


27.01.2021





Яндекс.Метрика





stdint.h

04.07.2021

stdint.h — заголовочный файл стандартной библиотеки языка Си, введённый стандартом C99. Заголовочный файл объявляет несколько целочисленных типов и макросов.

Типы

Заголовочный файл объявляет целочисленные типы, которые имеют заданный размер, имеют заданный минимальный размер и которые являются наиболее быстрыми при использовании. В дополнение к ним стандарт объявляет макросы, устанавливающие размер этих типов. Платформа должна поддерживать, как минимум, ряд целочисленных типов заданных размеров:

Типы с точной шириной.

Не все системы могут поддерживать все эти типы.

Заданные типы имеют ширину в точности 8, 16, 32 и 64 бита соответственно. Приставка u означает, что этот тип является беззнаковым и содержит целые числа, как минимум, от нуля до 2 N − 1 {displaystyle 2^{N}-1} включительно. Таким образом, тип uint_least8_t должен существовать и содержать числа от нуля до 255 включительно.

Платформа может поддерживать указатели на знаковые и беззнаковые целочисленные типы: intptr_t и uintptr_t. Платформа обязана в рамках стандарта С99 поддерживать следующие типы: intmax_t, uintmax_t, которые могут представлять максимальные целочисленные значения.

Макросы

Заголовочный файл объявляет наборы макросов, которые содержат минимальные и максимальные значения целочисленных типов. Чтобы получить имя, представляющее минимальное или максимальное значение данного типа, возьмите имя типа, замените _t на _MIN или _MAX и переведите все символы в верхний регистр. Например, наименьшим значением для типа int32_t является INT32_MIN, а наибольшим значением для типа uint_fast16_t - UINT_FAST16_MAX.

Стандарт также определяет размер типов sig_atomic_t, который может содержать значения либо [-128; 127], либо [0; 255]. Для типа wchar_t установлены такие же ограничения, только они являются минимальными. Тип wint_t, если определён, должен содержать, как минимум, либо значения [-32768; 32767], либо [0; 65535].

Макросы INTx_C(value), INTMAX_C(value), UINTMAX_C(value) должны раскрываться в целочисленные константные выражения со значением value и с размерностью INT_LEASTx_T, intmax_t и uintmax_t соответственно. К примеру, на 64-разрядной машине выражение UINT64_C(123) должно преобразоваться в константу 123ULL.