Exakte Ergebnisse sind gewöhnlich bei der Verwendung von Gleitpunktarithmetik nicht möglich. Bei einer festen Anzahl von Bits pro Zahl wird es fast immer kleine Abweichungen geben.
Um zu bestimmen, ob das Ergebnis fast korrekt ist, berechnen wir dessen Quadrat.
Wenn alteSchaetzung
*alteSchaetzung
fast gleich N ist, dann
N/(alteSchaetzung*alteSchaetzung) == fast 1.0
oder
N/(alteSchaetzung*alteSchaetzung) - 1.0 == fast 0.0
Leider wissen wir nicht, ob "fast 0.0" negativ oder
positiv sein wird. Aus diesem Grund müssen wir den absoluten Wert verwenden,
um sicher zu gehen, dass er positiv ist.
Der absolute Wert einer Zahl ist eine Zahl ohne negatives Vorzeichen.
In Mathematikbüchern wird der absolute Wert von x
mit
| N/(alteSchaetzung*alteSchaetzung) - 1.0 | == fast 0.0
Jetzt müssen wir entscheiden, was "fast 0.0" bedeutet. Wenn alle Variablen vom Typ doppelte Genauigkeit sind, dann werden sie eine Genauigkeit von ungefähr 15 Dezimalstellen haben. Aber um ganz sicher zu gehen, werden wir uns mit 14 Stellen an Genauigkeit begnügnen. "Fast 0" bei 14 Stellen an Genauigkeit bedeutet "weniger als 0.00000000000001"
Wie wird 0.00000000000001 in der Exponentialschreibweise dargestellt?