C-Programmierung: float.h
Zur Navigation springen
Zur Suche springen
Der Standard definiert eine Gleitkommazahl nach dem folgenden Modell (in Klammern die symbolischen Konstanten für den Typ float):
- s = Vorzeichen
- b = Basis (
FLT_RADIX) - e = Exponent (Wert zwischen
FLT_MINundFLT_MAX) - p = Genauigkeit (
FLT_MANT_DIG) - fk = nichtnegative Ganzzahl kleiner b
Der Standard weist darauf hin, dass hierbei nur um ein Beschreibung der Implementierung von Fließkommazahlen handelt und sich von der tatsächlichen Implementierung unterscheidet.
Mit float.h stehen folgende Gleitkommatypen zur Verfügung:
- float
- double
- long double
Für alle Gleitkommatypen definierte symbolische Konstanten:
FLT_RADIX(2) BasisFLT_ROUNDErhält die Art der Rundung einer Implementierung:- -1 unbestimmt
- 0 in Richtung 0
- 1 zum nächsten Wert
- 2 in Richtung plus unendlich
- 3 in Richtung minus unendlich
Die symbolische Konstante FLT_ROUND kann auch andere Werte annehmen, wenn die Implementierung ein anderes Rundungsverfahren benutzt.
Für den Typ Float sind definiert:
FLT_MANT_DIGAnzahl der Ziffern in der MantisseFLT_DIG(6) Genauigkeit in DezimalziffernFLT_EPSILON(1E-5) kleinste Zahl x für die gilt 1.0 + x ≠ 1.0FLT_MAX(1E+37) größte Zahl, die der Typ float darstellen kannFLT_MIN(1E-37) kleinste Zahl größer als 0, die der Typ float noch darstellen kannFLT_MAX_EXPMinimale Größe des ExponentFLT_MIN_EXPMaximale Größe des Exponent
Für den Typ Double sind definiert:
DBL_MANT_DIGAnzahl der Ziffern in der MatisseDBL_DIG(10) Genauigkeit in DezimalziffernDBL_EPSILON(1E-9) kleinste Zahl x für die gilt 1.0 + x ≠ 1.0DBL_MAX(1E+37) größte Zahl, die der Typ double darstellen kannDBL_MIN(1E-37) kleinste Zahl größer als 0, die der Typ double noch darstellen kannDBL_MAX_EXPMinimale Größe des ExponentDBL_MIN_EXPMaximale Größe des Exponent
Für den Typ Long Double sind definiert:
LDBL_MANT_DIGAnzahl der Ziffern in der MatisseLDBL_DIG(10) Genauigkeit in DezimalziffernLDBL_EPSILON(1E-9) kleinste Zahl x für die gilt 1.0 + x ≠ 1.0LDBL_MAX(1E+37) größte Zahl, die der Typ long double darstellen kannLDBL_MIN(1E-37) kleinste Zahl größer als 0, die der Typ long double noch darstellen kannLDBL_MAX_EXPMinimale Größe des ExponentLDBL_MIN_EXPMaximale Größe des Exponent