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 Sie 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. Um sicher zu gehen, gehen wir davon aus, dass 14 Stellen an Genauigkeit erreicht werden können. "Fast 0" bei 14 Stellen an Genauigkeit bedeutet "weniger als 0.00000000000001"