limits.h

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

limits.h — заголовний файл стандартної бібліотеки мови програмування С, який включає визначення характеристик загальних типів змінних. Значення залежать від специфіки реалізації, але можуть бути не нижче діапазону, визначеного для кінцевого значення у зручній реалізації Сі.

Константи-члени

Колонка «мінімальне значення діапазону» містить мінімуми з можливого діапазону для константи даного типу, як це зазначено у стандарті. Іноді, значення _MIN представляють мінімуми діапазону, представлений у вигляді рідко використовуваного зворотного коду та знакового діапазону. Більшість реалізацій будуть мати більший діапазон, принаймні для деяких з цих чисел, наприклад:

  • Реалізації додаткового коду мають SCHAR_MIN рівним -128 (аналогічно для усіх інших значень _MIN).
  • 32-бітні реалізації встановлюють INT_MAX рівним +2147483647 (а також для INT_MIN та UINT_MAX).
  • Реалізації з підтримкою юнікоду встановлюють MB_LEN_MAX рівним 4 або більше.
  • Багато ПЦС мають CHAR_BIT рівний 16 або більше[1][2].
Ім'я Опис Типове значення 32-бітної
виконуваної/компільованої
програми (з 1995 і нині)
Типове значення 64-бітної
виконуваної/компільованої
(з 2008)
Стандартний мінімум-
або максимум діапазону значень по ANSI
CHAR_BIT Число біт у байті 8 8 ≥ 8
SCHAR_MIN Мінімальне значення для знакового char −128 −128 ≤ -127
SCHAR_MAX Максимальне значення для знакового char +127 +127 ≥ +127
UCHAR_MAX Максимальне значення для беззнакового char +255 +255 ≥ +255
CHAR_MIN Мінімальне значення для char −128 −128 ≤ -127
(якщо char представлено, як a
знаковий char; інакше 0)
CHAR_MAX Максимальне значення для char +127 +127 ≥ +127
(якщо char представлено, як
знаковий char; інакше +255)
MB_LEN_MAX Максимальна багатобайтова довжина символів по усіх полях розрізняється, за звичай від 4 розрізняється, за звичай від 4 ≥ 1
SHRT_MIN Мінімальне значення для short int −32,768 −32,768 ≤ -32,767
SHRT_MAX Максимальне значення для short int +32,767 +32,767 ≥ +32,767
USHRT_MAX Максимальне значення для беззнакового short int +65,535 +65,535 ≥ +65,535
INT_MIN Мінімальне значення для int −2,147,483,648 −2,147,483,648 ≤ -32,767
INT_MAX Максимальне значення для int +2,147,483,647 +2,147,483,647 ≥ +32,767
UINT_MAX Максимальне значення для беззнакового int +4,294,967,295 +4,294,967,295 ≥ +65,535
LONG_MIN Мінімальне значення для long int −2,147,483,648 −9,223,372,036,854,775,808 ≤ -2,147,483,647
LONG_MAX Максимальне значення для long int +2,147,483,647 +9,223,372,036,854,775,807 ≥ +2,147,483,647
ULONG_MAX Максимальне значення для беззнаквого long int +4,294,967,295 +18,446,744,073,709,551,615 ≥ +4,294,967,295
LLONG_MIN Максимальне значення для long long int −9,223,372,036,854,775,808 −9,223,372,036,854,775,808 ≤ -9,223,372,036,854,775,807
LLONG_MAX Максимальне значення для long long int +9,223,372,036,854,775,807 +9,223,372,036,854,775,807 ≥ +9,223,372,036,854,775,807
ULLONG_MAX Максимальне значення для беззнакового long long int +18,446,744,073,709,551,615 +18,446,744,073,709,551,615 ≥ +18,446,744,073,709,551,615

Посилання

  • Limits.h на OpenGroup
  • Enquire: програма для автоматичної генерації limits.h; також перевіряє коректність значень в уже існуючих limits.h