Die Antwort hängt davon ab, was Sie unter "Genauigkeit beibehalten" verstehen. Ein einzelner Fließkomma-Punkt hat immer die gleiche "Genauigkeit" von etwa 7 Stellen (aufgrund des Binär-Speichers sind es nicht genau 7 Stellen).
Einige Berechnungen können einen Rundungsfehler verursachen, der das niedrigstwertige Bit inkorrekt machen kann, aber diese Fehler können sich addieren (wie user3386109 in ihrer Antwort erklärt) oder sie können verstärkt werden. Ein Beispiel für eine Amplifikation wäre, wenn ich eine Kalkülgrenze der Form (f(x+h)-f(x))/h
als h
auf Null gehen würde. Wenn f(x+0.0000001)
sollte 3.1234567 sein, aber ich bekomme 3.1234566 und f(x)
gibt die richtige 3.1234568. Nun sollte die Formel (3.1234567-3.1234568)/0.0000001
sein, was -1
ist, aber ich habe (3.1234566-3.1234568)/0.0000001
, was -2
ist.
Plötzlich ist meine niedrigstwertige Ziffer meine wichtigste Ziffer. Es gibt andere Möglichkeiten, Rundungsfehler und Techniken zur Vermeidung von Rundungsfehlern zu verstärken.
Immer Achten Sie beim Umgang mit nicht ganzzahligen Typen auf Rundungsfehler. Some examples of rounding error failures
überprüfen Sie bitte diese [URL] (http://stackoverflow.com/help) wird es helfen, Ihre Qualität des Inhalts zu erhöhen –
Mit multiplizieren/teilen der durchschnittliche Verlust ist sqrt (N) oder etwa 30 Bits. – chux