stdint.h

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 означает, что этот тип является беззнаковым и содержит целые числа, как минимум, от нуля до 2^N - 1 включительно. Таким образом, тип uint_least8_t должен существовать и содержать числа от нуля до 255 включительно.

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

Макросы

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

Макрос Значение
INTN_MIN -(2^{N-1})
INTN_MAX 2^{N-1}-1
UINTN_MAX 2^N-1
INT_LEASTN_MIN -(2^{N-1}-1)
INT_LEASTN_MAX 2^{N-1}-1
UINT_LEASTN_MAX 2^N-1
INT_FASTN_MIN -(2^{N-1}-1)
INT_FASTN_MAX 2^{N-1}-1
UINT_FASTN_MAX 2^N-1
INT_PTR_MIN -(2^{15}-1)
INT_PTR_MAX 2^{15}-1
UINTPTR_MAX 2^{16}-1
INTMAX_MIN -(2^{63}-1)
INTMAX_MAX 2^{63}-1
UINTMAX_MAX 2^{64}-1
PTRDIFF_MIN -65535
PTRDIFF_MAX +65535
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]

Примечания

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

Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "stdint.h" в других словарях:

  • Stdint.h — is a header file in the C standard library introduced in the C99 standard library section 7.18 to allow programmers to write more portable code by providing a set of typedefs that specify exact width integer types, together with the defined… …   Wikipedia

  • XTEA — Создатель: Дэвид Уилер и Роджер Нидхэм Создан: 1997 г …   Википедия

  • Inttypes.h — Стандартная библиотека языка программирования С assert.h complex.h ctype.h errno.h fenv.h float.h inttypes.h iso646.h limits.h locale.h math.h setjmp.h signal.h stdarg.h stdbool.h stddef.h stdint.h stdio.h …   Википедия

  • inttypes.h — Стандартная библиотека языка программирования С assert.h complex.h ctype.h errno.h fenv.h float.h inttypes.h iso646.h limits.h locale.h math.h setjmp.h signal.h stdarg.h stdbool.h stddef.h …   Википедия

  • Inttypes.h — The inttypes.h file is a C header file that is part of the C standard library and API. It was added with the 1999 version of the ISO C standard (known as C99). It includes the stdint.h header. It defines a number of macros for use with the printf …   Wikipedia

  • Стандартная библиотека языка Си — Стандартная библиотека языка программирования С assert.h complex.h ctype.h errno.h fenv.h float.h inttypes.h iso646.h limits.h locale.h math.h setjmp.h signal.h stdarg.h stdbool.h stddef.h …   Википедия

  • C data types — C Standard Library Data types Character classification Strings Mathematics File input/output Date/time Memory allocation …   Wikipedia

  • C standard library — The C Standard Library consists of a set of sections of the ANSI C standard in the programming language C. They describe a collection of headers and library routines used to implement common operations such as input/output[1] and string handling …   Wikipedia

  • Standard C Library — Die Standard C Library ist eine genormte Funktionsbibliothek für die Programmiersprache C, die etwa 200 häufig benötigte Funktionen für Ein und Ausgabe, mathematische Operationen, Verarbeitung von Zeichenketten, Speicherverwaltung und andere… …   Deutsch Wikipedia

  • Bibliotheque standard de C — Bibliothèque standard de C La bibliothèque standard du C est une collection maintenant normalisée d en têtes et de routines utilisées pour implémenter des opérations courantes, telles que les entrées/sorties et la gestion des chaînes de… …   Wikipédia en Français


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»