Udostępnij za pośrednictwem


Stałe typu danych

Stałe typu danych to zależne od implementacji zakresy wartości dozwolonych dla typów danych całkowitych i zmiennoprzecinkowych.

Stałe typu całkowitego

Te stałe zapewniają zakresy dla całkowitych typów danych. Aby użyć tych stałych, dołącz nagłówek limits.h do pliku źródłowego:

#include <limits.h>

Uwaga

Opcja kompilatora /J zmienia domyślny char typ z signed char na unsigned char.

Stała Wartość Opis
CHAR_BIT 8 Liczba bitów w obiekcie char
SCHAR_MIN (-128) Wartość minimalna signed char
SCHAR_MAX 127 Wartość maksymalna signed char
UCHAR_MAX 255 (0xff) Wartość maksymalna unsigned char
CHAR_MIN (-128) (0, jeśli /J użyto opcji) Wartość minimalna char
CHAR_MAX 127 (255, jeśli /J użyto opcji) Wartość maksymalna char
MB_LEN_MAX 5 Maksymalna liczba bajtów w wielobajtach char
SHRT_MIN -32768 Wartość minimalna signed short
SHRT_MAX 32767 Wartość maksymalna signed short
USHRT_MAX 65535 (0xffff) Wartość maksymalna unsigned short
INT_MIN (-2147483647 - 1) Wartość minimalna signed int
INT_MAX 2147483647 Wartość maksymalna signed int
UINT_MAX 4294967295 (0xffffffff) Wartość maksymalna unsigned int
LONG_MIN (-2147483647L - 1) Wartość minimalna signed long
LONG_MAX 2147483647L Wartość maksymalna signed long
ULONG_MAX 4294967295UL (0xfffffful) Wartość maksymalna unsigned long
LLONG_MIN (-9223372036854775807LL - 1) Minimalna signed long long lub __int64 wartość
LLONG_MAX 9223372036854775807LL Wartość maksymalna signed long long lub __int64
ULLONG_MAX 0xffffull Wartość maksymalna unsigned long long
_I8_MIN (-127i8 -1) Minimalna wartość 8-bitowa ze znakiem
_I8_MAX 127i8 Maksymalna podpisana wartość 8-bitowa
_UI8_MAX 0xffui8 Maksymalna niepodpisane wartość 8-bitowa
_I16_MIN (-32767i16 -1) Minimalna wartość 16-bitowa ze znakiem
_I16_MAX 32767i16 Maksymalna podpisana wartość 16-bitowa
_UI16_MAX 0xffui16 Maksymalna niepodpisane 16-bitowa wartość
_I32_MIN (-2147483647i32 - 1) Minimalna wartość 32-bitowa ze znakiem
_I32_MAX 2147483647i32 Maksymalna wartość 32-bitowa ze znakiem
_UI32_MAX 0xffffffui32 Maksymalna niepodpisane wartość 32-bitowa
_I64_MIN (-9223372036854775807 - 1) Minimalna wartość 64-bitowa ze znakiem
_I64_MAX 9223372036854775807 Maksymalna podpisana wartość 64-bitowa
_UI64_MAX 0xffffui64 Maksymalna niepodpisane wartość 64-bitowa
_I128_MIN (-170141183460469231731687303715884105727i128 - 1) Minimalna wartość 128-bitowa ze znakiem
_I128_MAX 170141183460469231731687303715884105727i128 Maksymalna wartość ze znakiem 128-bitowym
_UI128_MAX 0xffui128 Maksymalna niepodpisane wartość 128-bitowa
SIZE_MAX tak samo jak _UI64_MAX w przypadku, gdy _WIN64 jest zdefiniowana, lub UINT_MAX Maksymalny rozmiar liczby całkowitej natywnej
RSIZE_MAX tak samo jak (SIZE_MAX>> 1) Maksymalny rozmiar liczby całkowitej bezpiecznej biblioteki

Stałe typu zmiennoprzecinkowego

Następujące stałe zapewniają zakres i inne cechy long doubletypów danych i float . double Aby użyć tych stałych, dołącz nagłówek float.h do pliku źródłowego:

#include <float.h>
Stała Wartość Opis
DBL_DECIMAL_DIG 17 Liczba cyfr dziesiętnych dokładności zaokrąglania
DBL_DIG 15 Liczba cyfr dziesiętnych precyzji
DBL_EPSILON 2.2204460492503131e-016 Najmniejszy taki, że 1.0 + DBL_EPSILON != 1.0
DBL_HAS_SUBNORM 1 Typ obsługuje liczby podnormalne (denormalne)
DBL_MANT_DIG 53 Liczba bitów w znakowaniu (mantissa)
DBL_MAX 1.7976931348623158e+308 Wartość maksymalna
DBL_MAX_10_EXP 308 Maksymalny wykładnik dziesiętny
DBL_MAX_EXP 1024 Maksymalny wykładnik binarny
DBL_MIN 2.2250738585072014e-308 Minimalna znormalizowana wartość dodatnia
DBL_MIN_10_EXP (-307) Minimalny wykładnik dziesiętny
DBL_MIN_EXP (-1021) Minimalny wykładnik binarny
_DBL_RADIX 2 Promienie wykładnicze
DBL_TRUE_MIN 4.9406564584124654e-324 Minimalna dodatnia wartość subnormalna
FLT_DECIMAL_DIG 9 Liczba cyfr dziesiętnych dokładności zaokrąglania
FLT_DIG 6 Liczba cyfr dziesiętnych precyzji
FLT_EPSILON 1.192092896e-07F Najmniejszy taki, że 1.0 + FLT_EPSILON != 1.0
FLT_HAS_SUBNORM 1 Typ obsługuje liczby podnormalne (denormalne)
FLT_MANT_DIG 24 Liczba bitów w znakowaniu (mantissa)
FLT_MAX 3.402823466e+38F Wartość maksymalna
FLT_MAX_10_EXP 38 Maksymalny wykładnik dziesiętny
FLT_MAX_EXP 128 Maksymalny wykładnik binarny
FLT_MIN 1.175494351e-38F Minimalna znormalizowana wartość dodatnia
FLT_MIN_10_EXP (-37) Minimalny wykładnik dziesiętny
FLT_MIN_EXP (-125) Minimalny wykładnik binarny
FLT_RADIX 2 Promienie wykładnicze
FLT_TRUE_MIN 1.401298464e-45F Minimalna dodatnia wartość subnormalna
LDBL_DIG 15 Liczba cyfr dziesiętnych precyzji
LDBL_EPSILON 2.2204460492503131e-016 Najmniejszy taki, że 1.0 + LDBL_EPSILON != 1.0
LDBL_HAS_SUBNORM 1 Typ obsługuje liczby podnormalne (denormalne)
LDBL_MANT_DIG 53 Liczba bitów w znakowaniu (mantissa)
LDBL_MAX 1.7976931348623158e+308 Wartość maksymalna
LDBL_MAX_10_EXP 308 Maksymalny wykładnik dziesiętny
LDBL_MAX_EXP 1024 Maksymalny wykładnik binarny
LDBL_MIN 2.2250738585072014e-308 Minimalna znormalizowana wartość dodatnia
LDBL_MIN_10_EXP (-307) Minimalny wykładnik dziesiętny
LDBL_MIN_EXP (-1021) Minimalny wykładnik binarny
_LDBL_RADIX 2 Promienie wykładnicze
LDBL_TRUE_MIN 4.9406564584124654e-324 Minimalna dodatnia wartość subnormalna
DECIMAL_DIG tak samo jak DBL_DECIMAL_DIG Domyślne (podwójne) cyfry dziesiętne dokładności zaokrąglania

Zobacz też

Stałe globalne