- limits.h
-
Стандартная библиотека
языка программирования Сlimits.h — заголовочный файл стандартной библиотеки общего назначения языка программирования Си, который включает определения характеристик общих типов переменных. Значения зависят от специфики реализации, но могут быть не ниже диапазона, определенного для конечного значения в удобной реализации Си.
Содержание
Константы-члены
Колонка «минимальное значение диапазона» содержит минимумы из возможного диапазона для константы данного типа, как это указано в стандарте. Иногда, значения
_MINпредставляют минимумы диапазона, представимые в виде редко используемого обратного кода и знакового диапазона. Большинство реализаций будут иметь больший диапазон по крайней мере для некоторых из этих чисел. например:- Реализации дополнительного кода имеют
SCHAR_MINравным −128 (аналогично для всех остальных значений_MIN). - 32-битные реализации устанавливают
INT_MAXравным +2,147,483,647 (а также дляINT_MINиUINT_MAX) - Реализации с поддержкой Юникода устанавливают
MB_LEN_MAX4 или более. - Многие ЦСП имеют
CHAR_BITравным 16 или более[1][2].
Имя Описание Типичное значение 32-битной
выполняемой/компилируемой
программы (с 1995 и сейчас)Типичное значение 64-битной
выполняемой/компилируемой
программы (с 2008(?))Стандартный минимум-
или максимум диапазона значений по ANSICHAR_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 Пример
#include <stdio.h> #include <limits.h> int main (void) { (CHAR_MAX==UCHAR_MAX) ? printf("This machine uses unsigned char by default\n") : printf("This machine uses signed char by default\n"); return 0; }
См. также
- Стандартная библиотека языка Си
- float.h — Ограничение чисел с плавающей запятой
Дополнительные источники
- Enquire: Программа для автоматической генерации limits.h, также проверяющая корректность значений в уже существующем limits.h
Ссылки
limits.h— основные определения, The Single UNIX® Specification, выпуск 7 от The Open Group (англ.)- Руководство по Си--2.5 limits.h, доступно по состоянию на сентябрь 2006.
Категория:- Стандартные библиотечные заголовки языка Си
- Реализации дополнительного кода имеют
Wikimedia Foundation. 2010.