Справочник по C/C++
Заголовок stdint.h

В заголовке <stdint.h> версии С99 не объявлено ни одной функции, но он определяет множество целочисленных типов и макросов. Целочисленные типы используются для объявления целых значений известного размера или значений, несущих информацию о некоторых специальных атрибутах.

Макросы, имеющие вид intN_t, определяют целое значение длиной N бит. Например, макрос intl6_t задает 16-разрядное целое со знаком. Макросы, имеющие вид uintN_t, определяют целое значение без знака с N бит. Например, макрос uint32_t задает 32-разрядное целое без знака. Макросы, в имени которых N равно 8, 16, 32 или 64, будут доступны во всех средах, работающих с целыми числами перечислен-
ных длин.

Макросы, имеющие вид int_leastN_t, определяют целое значение длиной не менее N бит. Макросы, имеющие вид uint_leastN_t, определяют целое значение без знака с не менее чем N бит. Макросы, в имени которых N равно 8, 16, 32 или 64, будут доступны во всех средах, работающих с целыми числами перечисленных длин. Например, макрос int_least16_t - это допустимый тип значения.

Макросы, имеющие вид int_fastN_t, определяют самый быстродействующий целочисленный тип значения длиной не менее N бит. Макросы, имеющие вид uint_fastN_t, определяют самый быстродействующий целочисленный тип значения без знака с не менее чем N бит. Макросы, в имени которых N равно 8, 16, 32 или 64, будут доступны во всех средах, работающих с целыми числами перечисленных длин. Например, макрос int_fast32_t - это допустимый тип значения для всех известных сред.

Тип intmax_t определяет целое значение максимальной длины со знаком, а тип uintmax_t - целое значение максимальной длины без знака.

Также определены типы intptr_t и uintptr_t. Их можно использовать для создания целых значений, которые способны хранить указатели. Эти типы необязательны.

В заголовке <stdint.h> определен ряд макросов, вид которых подобен виду функций, которые расширяются до констант заданного целочисленного типа. Эти макросы имеют следующую общую форму.

INTN_C(значение)
UINTN_C(значение)

Здесь N - длина в битах желаемого типа. Каждый макрос создает константу длиной не менее N бит, которая содержит, заданное значение.

Также в этом заголовке определены следующие макросы.

INTMAX_C(значение)
UINTMAX_C(значение)

Они создают константы максимальной длины заданного значения. 



Реклама