Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 |