Limits.h: различия между версиями
Перейти к навигации
Перейти к поиску
[непроверенная версия] | [непроверенная версия] |
Содержимое удалено Содержимое добавлено
Нет описания правки |
|||
Строка 1: | Строка 1: | ||
{{lowercase|title=limits.h}} |
{{Стандартная библиотека Си}}{{lowercase|title=limits.h}} |
||
''limits.h'' — заголовочный файл '''стандартной библиотеки общего назначения''' [[Язык программирования Си|языка программирования Си]], который включает определения характеристик общих типов переменных. Значения зависят от специфики реализации, но могут быть не ниже диапазона, определенного для конечного значения в удобной реализации Си. |
''limits.h'' — заголовочный файл '''стандартной библиотеки общего назначения''' [[Язык программирования Си|языка программирования Си]], который включает определения характеристик общих типов переменных. Значения зависят от специфики реализации, но могут быть не ниже диапазона, определенного для конечного значения в удобной реализации Си. |
||
Версия от 03:35, 18 ноября 2008
limits.h — заголовочный файл стандартной библиотеки общего назначения языка программирования Си, который включает определения характеристик общих типов переменных. Значения зависят от специфики реализации, но могут быть не ниже диапазона, определенного для конечного значения в удобной реализации Си.
Константы-члены
Колонка «минимальное значение диапазона» содержит минимумы из возможного диапазона для константы данного типа, как это указано в стандарте. Иногда, значения _MIN
представляют минимумы диапазона, представимые в виде редко используемого обратного кода и знакового диапазона. Большинство реализаций будут иметь больший диапазон по крайней мере для некоторых из этих чисел. например:
- Реализации дополнительного кода имеют
SCHAR_MIN
равным −128 (аналогично для всех остальных значений_MIN
). - 32-битные реализации устанавливают
INT_MAX
равным +2,147,483,647 (а также для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 |
Смотри также
- Стандартная библиотека языка Си
- Float.h — Ограничение чисел с плавающей запятой
Дополнительные источники
- Enquire: Программа для автоматической генерации limits.h, также проверяющая корректность значений в уже существующем limits.h
Ссылки
- Руководство по Си--2.5 limits.h, доступно по состоянию на сентябрь 2006.