"Grundkurs Programmieren in Java - (5. Auflage, 2010)"
2001-2010, Carl Hanser Verlag
Lösungsvorschlag zu Aufgabe 4.8 (Version 3.0)
(c) 2001-2010 D. Ratz, J. Scheffler, D. Seese, J. Wiesenberger
a)
Im normalisierten Fall hat eine Gleitkomma-Zahl mit Exponententeil E und
Mantissenteil M den Wert
+/- 1.M * 2^(E-1023)
Bezogen auf das Dezimalsystem ergibt sich damit ein Exponentenbereich von etwa
-308 bis +308 und eine Rechengenauigkeit von knapp 16 Dezimalstellen.
b)
2^52 = 4503599627370496
also etwa 16 dezimale Stellen.
c)
Weil sich 0.1 nicht als Summe negativer 2er-Potenzen darstellen läßt.
Würden Sie versuchen, 0.1 ins Binär-System umzurechnen, so würden
Sie eine nie abbrechende Folge von Nullen und Einsen erhalten:
0.0001100110011001100...
Ab der 4. Nachkommastelle wiederholt sich 1100 also periodisch.
Literatur für Interessierte:
ANSI/IEEE Standard 754-1985, Standard for Binary Floating Point Arithmetic.