stdint.h — заголовний файл стандартної бібліотеки мови C, введений стандартом C99. Заголовний файл оголошує кілька цілочисельних типів і макросів.
Типи
Заголовний файл оголошує цілочисельні типи, які мають заданий розмір, заданий мінімальний розмір і які за використання є найшвидшими. На додаток до них стандарт оголошує макроси, що встановлюють розміри цих типів. Платформа має підтримувати, принаймні, ряд цілочисельних типів заданих розмірів:
Тип | Розрядність | Набір значень |
---|---|---|
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_t | 8-бітовий зі знаком |
int16_t | 16-бітовий зі знаком |
int32_t | 32-бітовий зі знаком |
int64_t | 64-бітовий зі знаком |
uint8_t | 8-бітовий без знака |
uint16_t | 16-бітовий без знака |
uint32_t | 32-бітовий без знака |
uint64_t | 64-бітовий без знака |
Задані типи мають ширину рівно 8, 16, 32 і 64 біти відповідно. Префікс u
означає, що цей тип є беззнаковим і містить цілі числа, принаймні, від нуля до включно. Таким чином, тип 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.
Макрос | Значення |
---|---|
INTx_MIN | |
INTx_MAX | |
UINTx_MAX | |
INT_LEASTx_MIN | |
INT_LEASTx_MAX | |
UINT_LEASTx_MAX | |
INT_FASTx_MIN | |
INT_FASTx_MAX | |
UINT_FASTx_MAX | |
INTPTR_MIN | INTx_MIN, залежить від платформи |
INTPTR_MAX | INTx_MAX, залежить від платформи |
UINTPTR_MAX | UINTx_MAX, залежить від платформи |
INTMAX_MIN | |
INTMAX_MAX | |
UINTMAX_MAX | |
PTRDIFF_MIN | INTPTR_MIN |
PTRDIFF_MAX | INTPTR_MAX |
SIZE_MAX | UINTPTR_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
.
Примітки
- ISO/IEC 9899:1999 (PDF). Архів оригіналу (PDF) за 22 серпня 2011. Процитовано 29 березня 2022.
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
stdint h zagolovnij fajl standartnoyi biblioteki movi C vvedenij standartom C99 Zagolovnij fajl ogoloshuye kilka cilochiselnih tipiv i makrosiv TipiZagolovnij fajl ogoloshuye cilochiselni tipi yaki mayut zadanij rozmir zadanij minimalnij rozmir i yaki za vikoristannya ye najshvidshimi Na dodatok do nih standart ogoloshuye makrosi sho vstanovlyuyut rozmiri cih tipiv Platforma maye pidtrimuvati prinajmni ryad cilochiselnih tipiv zadanih rozmiriv Tip Rozryadnist Nabir znachen int least8 t prinajmni 8 bit 128 127 int least16 t prinajmni 16 bit 32768 32767 int least32 t prinajmni 32 bita 2147483648 2147483647 int least64 t prinajmni 64 bita 2 63 2 63 1 uint least8 t prinajmni 8 bit 0 255 uint least16 t prinajmni 16 bit 0 65535 uint least32 t prinajmni 32 bita 0 4294967295 uint least64 t prinajmni 64 bit 0 2 64 1 int fast8 t prinajmni 8 bit 128 127 int fast16 t prinajmni 16 bit 32768 32767 int fast32 t prinajmni 32 bita 2147483648 2147483647 int fast64 t prinajmni 64 bita 2 63 2 63 1 uint fast8 t prinajmni 8 bit 0 255 uint fast16 t prinajmni 16 bit 0 65535 uint fast32 t prinajmni 32 bita 0 4294967295 uint fast64 t prinajmni 64 bit 0 2 64 1 Tipi z tochnoyu shirinoyu Ne vsi sistemi mozhut pidtrimuvati vsi ci tipi Tip Opis int8 t 8 bitovij zi znakom int16 t 16 bitovij zi znakom int32 t 32 bitovij zi znakom int64 t 64 bitovij zi znakom uint8 t 8 bitovij bez znaka uint16 t 16 bitovij bez znaka uint32 t 32 bitovij bez znaka uint64 t 64 bitovij bez znaka Zadani tipi mayut shirinu rivno 8 16 32 i 64 biti vidpovidno Prefiks u oznachaye sho cej tip ye bezznakovim i mistit cili chisla prinajmni vid nulya do 2 N 1 displaystyle 2 N 1 vklyuchno Takim chinom tip uint least8 t maye isnuvati i mistiti chisla vid nulya do 255 vklyuchno Platforma mozhe pidtrimuvati vkazivniki na znakovi i bezznakovi cilochiselni tipi intptr t i uintptr t Platforma povinna v ramkah standartu S99 pidtrimuvati taki tipi intmax t uintmax t yaki mozhut predstavlyati najbilshi cilochiselni znachennya MakrosiZagolovnij fajl ogoloshuye nabori makrosiv yaki mistyat najbilshi i najmenshi znachennya cilochiselnih tipiv Shob otrimati nazvu sho predstavlyaye najbilshe abo najmenshe znachennya pevnogo tipu vizmit nazvu tipu zaminit t na MIN abo MAX i perevedit usi simvoli u verhnij registr Napriklad najmenshim znachennyam dlya tipu int32 t ye INT32 MIN a najbilshim znachennyam dlya tipu uint fast16 t UINT FAST16 MAX Makros Znachennya INTx MIN 2 x 1 displaystyle 2 x 1 INTx MAX 2 x 1 1 displaystyle 2 x 1 1 UINTx MAX 2 x 1 displaystyle 2 x 1 INT LEASTx MIN 2 x 1 displaystyle 2 x 1 INT LEASTx MAX 2 x 1 1 displaystyle 2 x 1 1 UINT LEASTx MAX 2 x 1 displaystyle 2 x 1 INT FASTx MIN 2 x 1 displaystyle 2 x 1 INT FASTx MAX 2 x 1 1 displaystyle 2 x 1 1 UINT FASTx MAX 2 x 1 displaystyle 2 x 1 INTPTR MIN INTx MIN zalezhit vid platformi INTPTR MAX INTx MAX zalezhit vid platformi UINTPTR MAX UINTx MAX zalezhit vid platformi INTMAX MIN 2 63 displaystyle 2 63 INTMAX MAX 2 63 1 displaystyle 2 63 1 UINTMAX MAX 2 64 1 displaystyle 2 64 1 PTRDIFF MIN INTPTR MIN PTRDIFF MAX INTPTR MAX SIZE MAX UINTPTR MAX Standart takozh viznachaye rozmir tipu sig atomic t yakij mozhe mistiti znachennya abo 128 127 abo 0 255 Dlya tipu a href wiki D0 A8 D0 B8 D1 80 D0 BE D0 BA D0 B8 D0 B9 D1 81 D0 B8 D0 BC D0 B2 D0 BE D0 BB title Shirokij simvol wchar t a vstanovleno taki zh obmezhennya tilki voni ye minimalnimi Tip wint t yaksho viznachenij maye mistiti prinajmni abo znachennya 32768 32767 abo 0 65535 Makrosi INT i x i C value INTMAX C value UINTMAX C value povinni rozkrivatisya v cilochiselni konstantni virazi zi znachennyam value i z rozmirnistyu INT LEASTx T intmax t i uintmax t vidpovidno Napriklad na 64 rozryadnij mashini viraz UINT64 C 123 maye peretvoritisya na konstantu 123ULL PrimitkiISO IEC 9899 1999 PDF Arhiv originalu PDF za 22 serpnya 2011 Procitovano 29 bereznya 2022