<stdint.h>: float/ (long) double???
-
Hallo,
gibt es einen standardisierten Datentyp für float, bzw. (long) double?
Ich finde dazu irgendwie nichts im Internet.
-
Der Standard sagt für float, double, long double nur, dass dies Gleitkommazahlen sind mit der Rangfolge float <= double <= long double. Es wird den Herstellern der Compiler überlassen, welche Zahlenbereiche jeweils abgedeckt sind.
-
Es hat sich jedoch der Quasistandard IEEE 754 durchgesetzt. Du wirst lange suchen müssen, um irgendein System zu finden, auf dem das nicht benutzt wird.
Wobei man jedoch ein bisschen aufpassen sollte, sich nicht zu sehr auf die genauen Details zu verlassen. Zwischenergebnisse in x87-Architekturen (also der mathematische Coprozessor in Haushalts-PCs) werden zum Beispiel auch gerne mal in 80-Bit Formaten gespeichert, selbst wenn mit double precision gerechnet wird. Das kann dann beispielsweise zu unerwarteten Ergebnissen bei Vergleichen führen.