Konstanty datového typu
Konstanty datového typu jsou oblasti hodnot závislé na implementaci povolené pro celočíselné datové typy a datové typy s plovoucí desetinou čárkou.
Celočíselné konstanty typu
Tyto konstanty poskytují rozsahy pro integrální datové typy. Pokud chcete použít tyto konstanty, zahrňte do zdrojového souboru hlavičku limits.h:
#include <limits.h>
Poznámka:
Možnost kompilátoru /J
změní výchozí char
typ z signed char
na unsigned char
.
Konstanta | Hodnota | Popis |
---|---|---|
CHAR_BIT |
8 | Počet bitů v char |
SCHAR_MIN |
(-128) | Minimální signed char hodnota |
SCHAR_MAX |
127 | Maximální signed char hodnota |
UCHAR_MAX |
255 (0xff) | Maximální unsigned char hodnota |
CHAR_MIN |
(-128) (0, pokud /J se používá možnost) |
Minimální char hodnota |
CHAR_MAX |
127 (255, pokud /J se používá možnost) |
Maximální char hodnota |
MB_LEN_MAX |
5 | Maximální počet bajtů ve vícebajtových char |
SHRT_MIN |
-32768 | Minimální signed short hodnota |
SHRT_MAX |
32767 | Maximální signed short hodnota |
USHRT_MAX |
65535 (0xffff) | Maximální unsigned short hodnota |
INT_MIN |
(-2147483647 - 1) | Minimální signed int hodnota |
INT_MAX |
2147483647 | Maximální signed int hodnota |
UINT_MAX |
4294967295 (0xffffffff) | Maximální unsigned int hodnota |
LONG_MIN |
(-2147483647L - 1) | Minimální signed long hodnota |
LONG_MAX |
2147483647L | Maximální signed long hodnota |
ULONG_MAX |
4294967295UL (0xfffffffful) | Maximální unsigned long hodnota |
LLONG_MIN |
(-9223372036854775807LL - 1) | Minimum signed long long nebo __int64 hodnota |
LLONG_MAX |
9223372036854775807LL | Maximální signed long long nebo __int64 hodnota |
ULLONG_MAX |
0xffffull | Maximální unsigned long long hodnota |
_I8_MIN |
(-127i8 - 1) | Minimální podepsaná 8bitová hodnota |
_I8_MAX |
127i8 | Maximální podepsaná 8bitová hodnota |
_UI8_MAX |
0xffui8 | Maximální 8bitová hodnota bez znaménka |
_I16_MIN |
(-32767i16 - 1) | Minimální podepsaná 16bitová hodnota |
_I16_MAX |
32767i16 | Maximální podepsaná 16bitová hodnota |
_UI16_MAX |
0xffffui16 | Maximální 16bitová hodnota bez znaménka |
_I32_MIN |
(-2147483647i32 - 1) | Minimální podepsaná 32bitová hodnota |
_I32_MAX |
2147483647i32 | Maximální podepsaná 32bitová hodnota |
_UI32_MAX |
0xffffffffui32 | Maximální 32bitová hodnota bez znaménka |
_I64_MIN |
(-9223372036854775807 - 1) | Minimální podepsaná 64bitová hodnota |
_I64_MAX |
9223372036854775807 | Maximální podepsaná 64bitová hodnota |
_UI64_MAX |
0xffffui64 | Maximální 64bitová hodnota bez znaménka |
_I128_MIN |
(-170141183460469231731687303715884105727i128 - 1) | Minimální podepsaná 128bitová hodnota |
_I128_MAX |
170141183460469231731687303715884105727i128 | Maximální podepsaná 128bitová hodnota |
_UI128_MAX |
0xffffui128 | Maximální 128bitová hodnota bez znaménka |
SIZE_MAX |
stejné jako _UI64_MAX v případě, že _WIN64 je definován, nebo UINT_MAX |
Maximální nativní celočíselná velikost |
RSIZE_MAX |
stejné jako (SIZE_MAX >> 1) |
Maximální velikost celého čísla zabezpečené knihovny |
Konstanty typu s plovoucí desetinou čárkou
Následující konstanty poskytují rozsah a další charakteristiky datových long double
double
typů a float
datových typů. Pokud chcete použít tyto konstanty, zahrňte do zdrojového souboru hlavičku float.h:
#include <float.h>
Konstanta | Hodnota | Popis |
---|---|---|
DBL_DECIMAL_DIG |
17 | # of decimal digits of rounding precision |
DBL_DIG |
15 | # of decimal digits of precision |
DBL_EPSILON |
2.2204460492503131e-016 | Nejmenší tak, aby 1,0 + DBL_EPSILON != 1,0 |
DBL_HAS_SUBNORM |
0 | Typ podporuje podnormální (denormální) čísla. |
DBL_MANT_DIG |
53 | # of bits in significand (mantissa) |
DBL_MAX |
1.7976931348623158e+308 | Maximální hodnota |
DBL_MAX_10_EXP |
308 | Maximální exponent desetinné čárky |
DBL_MAX_EXP |
1024 | Maximální binární exponent |
DBL_MIN |
2.2250738585072014e-308 | Minimální normalizovaná kladná hodnota |
DBL_MIN_10_EXP |
(-307) | Minimální exponent desetinných míst |
DBL_MIN_EXP |
(-1021) | Minimální binární exponent |
_DBL_RADIX |
2 | Exponent radix |
DBL_TRUE_MIN |
4.9406564584124654e-324 | Minimální kladná podnormální hodnota |
FLT_DECIMAL_DIG |
9 | Počet desetinných číslic přesnosti zaokrouhlení |
FLT_DIG |
6 | Počet desetinných číslic přesnosti |
FLT_EPSILON |
1.192092896e-07F | Nejmenší tak, aby 1,0 + FLT_EPSILON != 1,0 |
FLT_HAS_SUBNORM |
0 | Typ podporuje podnormální (denormální) čísla. |
FLT_MANT_DIG |
24 | Počet bitů v přihlašovacím znaku (mantisa) |
FLT_MAX |
3.402823466e+38F | Maximální hodnota |
FLT_MAX_10_EXP |
38 | Maximální exponent desetinné čárky |
FLT_MAX_EXP |
128 | Maximální binární exponent |
FLT_MIN |
1.175494351e-38F | Minimální normalizovaná kladná hodnota |
FLT_MIN_10_EXP |
(-37) | Minimální exponent desetinných míst |
FLT_MIN_EXP |
(-125) | Minimální binární exponent |
FLT_RADIX |
2 | Exponent radix |
FLT_TRUE_MIN |
1.401298464e-45F | Minimální kladná podnormální hodnota |
LDBL_DIG |
15 | # of decimal digits of precision |
LDBL_EPSILON |
2.2204460492503131e-016 | Nejmenší tak, aby 1,0 + LDBL_EPSILON != 1,0 |
LDBL_HAS_SUBNORM |
0 | Typ podporuje podnormální (denormální) čísla. |
LDBL_MANT_DIG |
53 | # of bits in significand (mantissa) |
LDBL_MAX |
1.7976931348623158e+308 | Maximální hodnota |
LDBL_MAX_10_EXP |
308 | Maximální exponent desetinné čárky |
LDBL_MAX_EXP |
1024 | Maximální binární exponent |
LDBL_MIN |
2.2250738585072014e-308 | Minimální normalizovaná kladná hodnota |
LDBL_MIN_10_EXP |
(-307) | Minimální exponent desetinných míst |
LDBL_MIN_EXP |
(-1021) | Minimální binární exponent |
_LDBL_RADIX |
2 | Exponent radix |
LDBL_TRUE_MIN |
4.9406564584124654e-324 | Minimální kladná podnormální hodnota |
DECIMAL_DIG |
stejné jako DBL_DECIMAL_DIG |
Výchozí (dvojité) desetinné číslice přesnosti zaokrouhlení |