Kursinhalt
C++ Datentypen
C++ Datentypen
Arbeiten mit Gleitkommazahlen
Die Zahlen enden nicht mit ganzen Zahlen. Es gibt auch Gleitkommazahlen. In C++ verwenden wir die Datentypen float
und double
, um sie zu speichern. Dieses Kapitel behandelt den Datentyp float
, während das nächste die Unterschiede des Datentyps double
behandelt. Unten ist die Syntax für die Verwendung von float
:
float
float num = 0.45;
Werfen wir einen kurzen Blick darauf, wie Gleitkommazahlen im Speicher gespeichert werden.
Der Datentyp float
belegt 4 Bytes Speicher, genau wie ein int
. Die Umwandlung solcher Zahlen in Binärcode ist jedoch viel komplizierter:
Hier ist ein Beispiel, wie float num = 13.45
gespeichert würde:
Es ist in Ordnung, wenn Sie nicht vollständig verstehen, was hier passiert. Das Wichtige ist zu beachten, dass die Darstellung eines float
in 3 Teile aufgeteilt ist:
-
die Vorzeichen-Komponente wird durch ein Plus (
+
) oder Minus (-
) Symbol dargestellt. Es zeigt an, ob eine Zahl positiv oder negativ ist; -
die Exponenten-Komponente bestimmt den Bereich, den eine Zahl darstellen kann. Je größer der Exponent, desto größer der Bereich der darstellbaren Werte. Für den
float
-Datentyp belegt der Exponent 1 Byte (8 Bits) Speicher; -
die Mantissen-Komponente bestimmt die Genauigkeit eines
float
. Nicht alle Zahlen können exakt im Speicher dargestellt werden, und die Genauigkeit einer Zahl wird durch die Länge der Mantisse definiert. Für denfloat
-Datentyp beträgt die Mantissenlänge 23 Bits.
Als Ergebnis hat float
eine Genauigkeit von 7 Dezimalstellen und einen Bereich von 1.2e-38 bis 3.4e+38 (gilt für sowohl negative als auch positive Zahlen). Daher ist der Bereich meistens kein Problem. Aber die Genauigkeit manchmal schon.
Danke für Ihr Feedback!