WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте
Стандартная библиотека
языка программирования С

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

Типы

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

ТипРазрядностьНабор значений
int_least8_tкак минимум, 8 бит[-128;127]
int_least16_tкак минимум, 16 бит[-32768; 32767]
int_least32_tкак минимум, 32 бита[-2147483648; 2147483647]
int_least64_tкак минимум, 64 бита[-(2^63); 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 бит[-128; 127]
int_fast16_tкак минимум, 16 бит[-32768; 32767]
int_fast32_tкак минимум, 32 бита[-2147483648; 2147483647]
int_fast64_tкак минимум, 64 бита[-(2^63); 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]

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

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

ТипОписание
int8_t8-битовый со знаком
int16_t16-битовый со знаком
int32_t32-битовый со знаком
int64_t64-битовый со знаком
uint8_t8-битовый без знака
uint16_t16-битовый без знака
uint32_t32-битовый без знака
uint64_t64-битовый без знака

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

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

Макросы

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

МакросЗначение
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]

Стандарт также определяет размер типов 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]

Примечания

  1. 1 2 3 4 5 6 ISO/IEC 9899:1999
  2. Размер типа size_t

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии