Größtmöglicher Fehler aufgrund von double?

16/09/2010 - 16:58 von Hans Bolte | Report spam
Wie groß ist der größtmögliche Fehler aufgrund der Abbildung einer Zahl
als double?

(Oder ist das eine Eigenschaft des Compilers oder des Betriebssystems,
so daß ich hier gleich gelyncht werde?)

Hans
<www.hansbolte.net>
 

Lesen sie die antworten

#1 Marcel Müller
16/09/2010 - 17:27 | Warnen spam
Hallo,

Hans Bolte wrote:
Wie groß ist der größtmögliche Fehler aufgrund der Abbildung einer Zahl
als double?

(Oder ist das eine Eigenschaft des Compilers oder des Betriebssystems,
so daß ich hier gleich gelyncht werde?)



was sich hinter double verbirgt, ist eine Eigenschaft der Plattform,
folglich auch dessen Genauigkeit.

Wenn wir von den (weit verbreiteten) IEEE-Floating-Points sprechen, wird
die Sache etwas konkreter. Dann wird der Fehler durch die Anzahl der
signifikanten Digits bestimmt und ist in seiner Natur relativ zur Größe
der Zahl.
Es gibt letztlich Konstanten, mit deren Hilfe man die
Quantisierungsfehler ausrechnen lassen. Naturgemàß passen die aber
selbst nicht vernünftig in double, so dass man noch darauf herumrechnen
könnte. Insofern beißt sich da die Katze in den Schwanz.

Ein anderer Punkt ist, dass die Zahl auch irgendwo her kommen muss. Und
wenn das wie üblich das Ergebnis einer Berechnung ist, dann ist der
numerische Fehler im Ergebnis typischerweise um einiges größer als das,
was alleine die Quantisierung des Ergebnisses erwarten ließe. Da kann
hin bis zur völligen Unbrauchbarkeit reichen, wenn man sich nur dumm
genug anstellt. Die Differenz zweier àhnlich großer Zahlen ist so ein
klassischer Faux-Pas.
2.^55 - (2.^55 - 1) => 0 !
Das ist aber Numerik und hat mit Programmiersprachen nicht wirklich
etwas zu tun.


Marcel

Ähnliche fragen