Пределы целых чисел в C и C++
Блок, относящийся только к системам Майкрософт
Ограничения для целочисленных типов в C и C++ представлены в следующей таблице. Эти ограничения заданы в стандартном файле заголовка C <limits.h>
. Стандартный файл заголовка C++ <limits>
содержит <climits>
, который включает в себя <limits.h>
.
В Microsoft C также допускается объявление целочисленных переменных с указанием размера, которые относятся к целочисленным типам с размером 8, 16, 32 или 64 бит. Дополнительные сведения о них см. в статье Целочисленные типы с указанием размера.
Ограничения для целочисленных констант
Константа | Значение | Значение |
---|---|---|
CHAR_BIT | Количество битов в наименьшей переменной, которая не является битовым полем. | 8 |
SCHAR_MIN | Минимальное значение для переменной типа signed char . |
–128 |
SCHAR_MAX | Максимальное значение для переменной типа signed char . |
127 |
UCHAR_MAX | Максимальное значение для переменной типа unsigned char . |
255 (0xff) |
CHAR_MIN | Минимальное значение для переменной типа char . |
–128 (или 0, если используется параметр /J) |
CHAR_MAX | Максимальное значение для переменной типа char . |
–127 (или 255, если используется параметр /J) |
MB_LEN_MAX | Максимальное число байтов в многобайтовом символе. | 5 |
SHRT_MIN | Минимальное значение для переменной типа short . |
-32768 |
SHRT_MAX | Максимальное значение для переменной типа short . |
32767 |
USHRT_MAX | Максимальное значение для переменной типа unsigned short . |
65 535 (0xffff) |
INT_MIN | Минимальное значение для переменной типа int . |
-2147483647 - 1 |
INT_MAX | Максимальное значение для переменной типа int . |
2147483647 |
UINT_MAX | Максимальное значение для переменной типа unsigned int . |
4 294 967 295 (0xffffffff) |
LONG_MIN | Минимальное значение для переменной типа long . |
-2147483647 - 1 |
LONG_MAX | Максимальное значение для переменной типа long . |
2147483647 |
ULONG_MAX | Максимальное значение для переменной типа unsigned long . |
4 294 967 295 (0xffffffff) |
LLONG_MIN | Минимальное значение для переменной типа long long . |
–9 223 372 036 854 775 807 – 1 |
LLONG_MAX | Максимальное значение для переменной типа long long . |
9 223 372 036 854 775 807 |
ULLONG_MAX | Максимальное значение для переменной типа unsigned long long . |
18 446 744 073 709 551 615 (0xffffffffffffffff) |
Если значение превышает максимально возможное представление целочисленного типа, компилятор Microsoft выдает ошибку.
Завершение блока, относящегося только к системам Майкрософт