5 - Gleitkommazahlen Flashcards
Welche Datentypen unterstützen Gleitkommazahlen und wie groß sind diese?
- float: 32 bit
- double: 64 bit (genauer)
Wie werden Gleitkommazahlen intern dargestellt?
mit Vorzeichen, Mantisse und Exponent
Warum ist die Darstellung von Gleitkommazahlen am Computer ungenau?
Diese Ungenauigkeit liegt an der binären Darstellung. So kann z.B. 0,1 nicht exakt repräsentiert werden. Wird eine hohe Genauigkeit erfordert, muss man spezielle Datentypen oder Bibliotheken verwenden.
Wie sollte man Gleitkommazahlen vergleichen?
Es ist besser, wenn man prüft, ob die Differenz der Zahlen sehr klein ist, anstatt auf exakte Gleichheit (==) zu überprüfen.
Welcher Operandentyp muss sich welchem Typ anpassen, wenn Datentypen umgewandelt werden?
Der kleinere Operandentyp wird vor Ausführung der Operation in den größeren konvertiert. Der Ausdruck bekommt dann denselben Typ wie seine Operanden, zumindest aber den Typ int.
Welche Datentypen erhalten die Ergebnisse der folgenden Operationen?
- f + i = …
- d * (f + i) = …
- s + s = …
- f / 3 = …
- i / 3 = …
- (float) i / 3 = …
- f + i = float
- d * (f + i) = double
- s + s = int
- f / 3 = float
- i / 3 = int
- (float) i / 3 = float
Warum kann man nicht einfach für alle Zahlen double verwenden?
- Rechnen mit Gleitkommazahlen ist viel langsamer
- double braucht mehr Speicher