WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте
Стандартная библиотека
языка программирования С

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 или более.
ИмяОписаниеТипичное значение 32-битной
выполняемой/компилируемой
программы (с 1995 и сейчас)
Типичное значение 64-битной
выполняемой/компилируемой
программы (с 2008(?))
Стандартный минимум
или максимум диапазона значений по ANSI
CHAR_BITЧисло бит в байте88≥ 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 представлено как
знаковый char; иначе 0)
CHAR_MAXМаксимальное значение для char+127+127≥ +127
(если char представлено как
знаковый char; иначе +255)
MB_LEN_MAXМаксимальная многобайтовая длина символа по всем локалямразличается, обычно от 4различается, обычно от 4≥ 1
SHRT_MINМинимальное значение для short int−32768−32768≤ −32767
SHRT_MAXМаксимальное значение для short int+32767+32767≥ +32767
USHRT_MAXМаксимальное значение для беззнакового short int+65535+65535≥ +65535
INT_MINМинимальное значение для int−2147483648−2147483648≤ −32767
INT_MAXМаксимальное значение для int+2147483647+2147483647≥ +32767
UINT_MAXМаксимальное значение для беззнакового int+4294967295+4294967295≥ +65535
LONG_MINМинимальное значение для long int−2147483648−9223372036854775808≤ −2147483647
LONG_MAXМаксимальное значение для long int+2147483647+9223372036854775807≥ +2147483647
ULONG_MAXМаксимальное значение для беззнакового long int+4294967295+18446744073709551615≥ +4294967295
LLONG_MINМинимальное значение для long long int−9223372036854775808−9223372036854775808≤ −9223372036854775807
LLONG_MAXМаксимальное значение для long long int+9223372036854775807+9223372036854775807≥ +9223372036854775807
ULLONG_MAXМаксимальное значение для беззнакового long long int+18446744073709551615+18446744073709551615≥ +18446744073709551615

Пример 1

#include <stdio.h>
#include <limits.h>
 
int main (void) 
{
  if (CHAR_MAX==UCHAR_MAX) {
    printf("This machine uses unsigned char by default\n");
  } else {
    printf("This machine uses signed char by default\n");
  }
  return 0;
}

Пример 2

#include <limits.h>
#include <locale.h>
#include <stdio.h>

int main(void)
{
	setlocale(LC_ALL, "RUS");
	printf("Максимальное значение типа int в этой системе составляет %d\n", INT_MAX);

    return 0;
}

См. также

Дополнительные источники

  • Enquire: Программа для автоматической генерации limits.h, также проверяющая корректность значений в уже существующем limits.h

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии