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.h
1float 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!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 4.35
Arbeiten mit Gleitkommazahlen
Swipe um das Menü anzuzeigen
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.h
1float 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!