Поделиться через


Константы типа данных

Константы типа данных — это зависящие от реализации диапазоны значений, допустимые для целочисленных типов данных и типов данных с плавающей запятой.

Константы целочисленных типов

Эти константы предоставляют диапазоны значений для целочисленных типов данных. Чтобы использовать их, включите заголовок limits.h в исходный файл.

#include <limits.h>

Примечание.

Параметр /J компилятора изменяет тип по умолчанию char на signed char unsigned char.

Константа значение Описание
CHAR_BIT 8 Число бит для char
SCHAR_MIN (–128) Минимальное значение для signed char
SCHAR_MAX 127 Максимальное значение для signed char
UCHAR_MAX 255 (0xff) Максимальное значение для unsigned char
CHAR_MIN (-128) (0, если /J используется параметр) Минимальное значение для char
CHAR_MAX 127 (255, если /J используется параметр) Максимальное значение для char
MB_LEN_MAX 5 Максимальное число байтов для многобайтового char
SHRT_MIN -32768 Минимальное значение для signed short
SHRT_MAX 32767 Максимальное значение для signed short
USHRT_MAX 65 535 (0xffff) Максимальное значение для unsigned short
INT_MIN (–2 147 483 647 – 1) Минимальное значение для signed int
INT_MAX 2147483647 Максимальное значение для signed int
UINT_MAX 4 294 967 295 (0xffffffff) Максимальное значение для unsigned int
LONG_MIN (–2 147 483 647L – 1) Минимальное значение для signed long
LONG_MAX 2 147 483 647L Максимальное значение для signed long
ULONG_MAX 4 294 967 295UL (0xfffffffful) Максимальное значение для unsigned long
LLONG_MIN (–9 223 372 036 854 775 807LL – 1) Минимальное signed long long или __int64 значение
LLONG_MAX 9 223 372 036 854 775 807LL Максимальное signed long long или __int64 значение
ULLONG_MAX 0xffffffffffffffffull Максимальное значение для unsigned long long
_I8_MIN (–127i8 – 1) Минимальное 8-битное значение со знаком
_I8_MAX 127i8 Максимальное 8-битное значение со знаком
_UI8_MAX 0xffui8 Максимальное 8-битное значение без знака
_I16_MIN (–32 767i16 – 1) Минимальное 16-битное значение со знаком
_I16_MAX 32 767i16 Максимальное 16-битное значение со знаком
_UI16_MAX 0xffffui16 Максимальное 16-битное значение без знака
_I32_MIN (–2 147 483 647i32 – 1) Минимальное 32-битное значение со знаком
_I32_MAX 2 147 483 647i32 Максимальное 32-битное значение со знаком
_UI32_MAX 0xffffffffui32 Максимальное 32-битное значение без знака
_I64_MIN (–9 223 372 036 854 775 807 – 1) Минимальное 64-битное значение со знаком
_I64_MAX 9223372036854775807 Максимальное 64-битное значение со знаком
_UI64_MAX 0xffffffffffffffffui64 Максимальное 64-битное значение без знака
_I128_MIN (–170 141 183 460 469 231 731 687 303 715 884 105 727i128 – 1) Минимальное 128-битное значение со знаком
_I128_MAX 170 141 183 460 469 231 731 687 303 715 884 105 727i128 Максимальное 128-битное значение со знаком
_UI128_MAX 0xffffffffffffffffffffffffffffffffui128 Максимальное 128-битное значение без знака
SIZE_MAX то же, что _UI64_MAX и _WIN64 если определено, или UINT_MAX Максимальный размер собственного целочисленного типа
RSIZE_MAX совпадает с (SIZE_MAX>> 1) Максимальный размер целочисленного типа защищенной библиотеки

Типы констант с плавающей запятой

Следующие константы дают диапазон и другие характеристики long doubledouble типов данных.float Чтобы использовать их, включите заголовок float.h в исходный файл.

#include <float.h>
Константа значение Описание
DBL_DECIMAL_DIG 17 Число десятичных разрядов точности округления
DBL_DIG 15 Количество десятичных разрядов точности
DBL_EPSILON 2,2204460492503131e-016 Наименьшее, что 1.0 + DBL_EPSILON != 1.0
DBL_HAS_SUBNORM 1 Тип поддерживает денормализованные числа
DBL_MANT_DIG 53 Число битов в мантиссе
DBL_MAX 1.7976931348623158e+308 Максимальное значение
DBL_MAX_10_EXP 308 Максимальный показатель десятичной степени
DBL_MAX_EXP 1024 Максимальный показатель двоичной степени
DBL_MIN 2.2250738585072014e-308 Минимальное нормализованное положительное значение
DBL_MIN_10_EXP (-307) Минимальный показатель десятичной степени
DBL_MIN_EXP (-1021) Минимальный показатель двоичной степени
_DBL_RADIX 2 Основание системы счисления
DBL_TRUE_MIN 4.9406564584124654e-324 Минимальное денормализованное положительное значение
FLT_DECIMAL_DIG 9 Число десятичных разрядов точности округления
FLT_DIG 6 Число десятичных разрядов точности
FLT_EPSILON 1,192092896e-07F Наименьшее, что 1.0 + FLT_EPSILON != 1.0
FLT_HAS_SUBNORM 1 Тип поддерживает денормализованные числа
FLT_MANT_DIG 24 Число битов в мантиссе
FLT_MAX 3,402823466e+38F Максимальное значение
FLT_MAX_10_EXP 38 Максимальный показатель десятичной степени
FLT_MAX_EXP 128 Максимальный показатель двоичной степени
FLT_MIN 1,175494351e-38F Минимальное нормализованное положительное значение
FLT_MIN_10_EXP (-37) Минимальный показатель десятичной степени
FLT_MIN_EXP (-125) Минимальный показатель двоичной степени
FLT_RADIX 2 Основание системы счисления
FLT_TRUE_MIN 1.401298464e-45F Минимальное денормализованное положительное значение
LDBL_DIG 15 Количество десятичных разрядов точности
LDBL_EPSILON 2,2204460492503131e-016 Наименьшее, что 1.0 + LDBL_EPSILON != 1.0
LDBL_HAS_SUBNORM 1 Тип поддерживает денормализованные числа
LDBL_MANT_DIG 53 Число битов в мантиссе
LDBL_MAX 1.7976931348623158e+308 Максимальное значение
LDBL_MAX_10_EXP 308 Максимальный показатель десятичной степени
LDBL_MAX_EXP 1024 Максимальный показатель двоичной степени
LDBL_MIN 2.2250738585072014e-308 Минимальное нормализованное положительное значение
LDBL_MIN_10_EXP (-307) Минимальный показатель десятичной степени
LDBL_MIN_EXP (-1021) Минимальный показатель двоичной степени
_LDBL_RADIX 2 Основание системы счисления
LDBL_TRUE_MIN 4.9406564584124654e-324 Минимальное денормализованное положительное значение
DECIMAL_DIG то же самое, что и DBL_DECIMAL_DIG Число десятичных разрядов точности округления по умолчанию (два)

См. также

Глобальные константы