Datentypkonstanten
Datentypkonstanten sind von der Implementierung abhängige Wertbereiche, die für integrale und Gleitkommadatentypen zulässig sind.
Konstanten integraler Datentypen
Diese Konstanten geben den Bereich für die integralen Datentypen an. Um diese Konstanten zu verwenden, schließen Sie den „limits.h“-Header in Ihre Quelldatei ein:
#include <limits.h>
Hinweis
Die /J
Compileroption ändert den Standardtyp char
von signed char
zu unsigned char
.
Konstante | Wert | Beschreibung |
---|---|---|
CHAR_BIT |
8 | Die Anzahl der Bits in einem char |
SCHAR_MIN |
(–128) | Mindestwert von signed char |
SCHAR_MAX |
127 | Höchstwert von signed char |
UCHAR_MAX |
255 (0xff) | Höchstwert von unsigned char |
CHAR_MIN |
(-128) (0 bei /J Verwendung der Option) |
Mindestwert von char |
CHAR_MAX |
127 (255 bei /J Verwendung der Option) |
Höchstwert von char |
MB_LEN_MAX |
5 | Die maximale Anzahl der Bytes in char in Multibyte |
SHRT_MIN |
-32768 | Mindestwert von signed short |
SHRT_MAX |
32767 | Höchstwert von signed short |
USHRT_MAX |
65535 (0xffff) | Höchstwert von unsigned short |
INT_MIN |
(–2147483647 – 1) | Mindestwert von signed int |
INT_MAX |
2147483647 | Höchstwert von signed int |
UINT_MAX |
4294967295 (0xffffffff) | Höchstwert von unsigned int |
LONG_MIN |
(–2147483647L – 1) | Mindestwert von signed long |
LONG_MAX |
2147483647L | Höchstwert von signed long |
ULONG_MAX |
4294967295UL (0xfffffffful) | Höchstwert von unsigned long |
LLONG_MIN |
(–9223372036854775807LL – 1) | Mindestwert signed long long oder __int64 Wert |
LLONG_MAX |
9223372036854775807LL | Maximalwert signed long long oder __int64 Wert |
ULLONG_MAX |
0xffffffffffffffffull | Höchstwert von unsigned long long |
_I8_MIN |
(-127i8 - 1) | 8-Bit-Mindestwert (signed) |
_I8_MAX |
127i8 | 8-Bit-Höchstwert (signed) |
_UI8_MAX |
0xffui8 | 8-Bit-Höchstwert (unsigned) |
_I16_MIN |
(-32767i16 - 1) | 16-Bit-Mindestwert (signed) |
_I16_MAX |
32767i16 | 16-Bit-Höchstwert (signed) |
_UI16_MAX |
0xffffui16 | 16-Bit-Höchstwert (unsigned) |
_I32_MIN |
(-2147483647i32 - 1) | 32-Bit-Mindestwert (signed) |
_I32_MAX |
2147483647i32 | 32-Bit-Höchstwert (signed) |
_UI32_MAX |
0xffffffffui32 | 32-Bit-Höchstwert (unsigned) |
_I64_MIN |
(-9223372036854775807 - 1) | 64-Bit-Mindestwert (signed) |
_I64_MAX |
9223372036854775807 | 64-Bit-Höchstwert (signed) |
_UI64_MAX |
0xffffffffffffffffui64 | 64-Bit-Höchstwert (unsigned) |
_I128_MIN |
(-170141183460469231731687303715884105727i128 - 1) | 128-Bit-Mindestwert (signed) |
_I128_MAX |
170141183460469231731687303715884105727i128 | 128-Bit-Höchstwert (signed) |
_UI128_MAX |
0xffffffffffffffffffffffffffffffffui128 | 128-Bit-Höchstwert (unsigned) |
SIZE_MAX |
identisch mit der _UI64_MAX _WIN64 Definition oder UINT_MAX |
Maximale Größe eines nativen Integerwerts |
RSIZE_MAX |
identisch mit (SIZE_MAX >> 1) |
Maximale Größe eines sicheren Bibliotheksintegers |
Gleitkommatypkonstanten
Die folgenden Konstanten weisen den Bereich und andere Merkmale der long double
double
Datentypen und float
Datentypen auf. Um diese Konstanten zu verwenden, schließen Sie den „float.h“-Header in Ihre Quelldatei ein:
#include <float.h>
Konstante | Wert | Beschreibung |
---|---|---|
DBL_DECIMAL_DIG |
17 | Anzahl der Dezimalstellen der Rundungsgenauigkeit |
DBL_DIG |
15 | Anzahl der Dezimalstellen der Genauigkeit |
DBL_EPSILON |
2.2204460492503131e-016 | Kleinst so, dass 1,0 + DBL_EPSILON != 1,0 |
DBL_HAS_SUBNORM |
1 | Der Typ unterstützt subnormale (denormale) Zahlen |
DBL_MANT_DIG |
53 | Anzahl der Bits in Signifikanden (Mantissen) |
DBL_MAX |
1.7976931348623158e+308 | Höchstwert |
DBL_MAX_10_EXP |
308 | Der höchstmögliche dezimale Exponent |
DBL_MAX_EXP |
1024 | Der höchstmögliche binäre Exponent |
DBL_MIN |
2.2250738585072014e-308 | Regulärer positiver Mindestwert |
DBL_MIN_10_EXP |
(-307) | Der dezimale Mindestwert |
DBL_MIN_EXP |
(-1021) | Der binäre Mindestwert |
_DBL_RADIX |
2 | Die Exponentenbasis |
DBL_TRUE_MIN |
4.9406564584124654e-324 | Positiver subnormaler Mindestwert |
FLT_DECIMAL_DIG |
9 | Anzahl der Dezimalstellen der Rundungsgenauigkeit |
FLT_DIG |
6 | Anzahl der Dezimalstellen der Genauigkeit |
FLT_EPSILON |
1.192092896e-07F | Kleinst so, dass 1,0 + FLT_EPSILON != 1,0 |
FLT_HAS_SUBNORM |
1 | Der Typ unterstützt subnormale (denormale) Zahlen |
FLT_MANT_DIG |
24 | Anzahl der Bits in Signifikanden (Mantissen) |
FLT_MAX |
3.402823466e+38F | Höchstwert |
FLT_MAX_10_EXP |
38 | Der höchstmögliche dezimale Exponent |
FLT_MAX_EXP |
128 | Der höchstmögliche binäre Exponent |
FLT_MIN |
1.175494351e-38F | Regulärer positiver Mindestwert |
FLT_MIN_10_EXP |
(-37) | Der dezimale Mindestwert |
FLT_MIN_EXP |
(-125) | Der binäre Mindestwert |
FLT_RADIX |
2 | Die Exponentenbasis |
FLT_TRUE_MIN |
1.401298464e-45F | Positiver subnormaler Mindestwert |
LDBL_DIG |
15 | Anzahl der Dezimalstellen der Genauigkeit |
LDBL_EPSILON |
2.2204460492503131e-016 | Kleinst so, dass 1,0 + LDBL_EPSILON != 1,0 |
LDBL_HAS_SUBNORM |
1 | Der Typ unterstützt subnormale (denormale) Zahlen |
LDBL_MANT_DIG |
53 | Anzahl der Bits in Signifikanden (Mantissen) |
LDBL_MAX |
1.7976931348623158e+308 | Höchstwert |
LDBL_MAX_10_EXP |
308 | Der höchstmögliche dezimale Exponent |
LDBL_MAX_EXP |
1024 | Der höchstmögliche binäre Exponent |
LDBL_MIN |
2.2250738585072014e-308 | Regulärer positiver Mindestwert |
LDBL_MIN_10_EXP |
(-307) | Der dezimale Mindestwert |
LDBL_MIN_EXP |
(-1021) | Der binäre Mindestwert |
_LDBL_RADIX |
2 | Die Exponentenbasis |
LDBL_TRUE_MIN |
4.9406564584124654e-324 | Positiver subnormaler Mindestwert |
DECIMAL_DIG |
Identisch mit DBL_DECIMAL_DIG |
Standard (doppelte) Dezimalstellen der Rundungsgenauigkeit |