Doppelte Präzision: Untersuchung der Genauigkeit der Dezimaldarstellung
Doppelte Präzision, ein in der Programmierung häufig verwendeter Datentyp, bietet eine angebliche Genauigkeit von etwa 15 Dezimalstellen Orte. Beim Umgang mit Werten, die als sich wiederholende Dezimalstellen dargestellt werden, wie z. B. 1,0/7,0, treten jedoch Anomalien auf.
Warum 17 Dezimalstellen?
Intern besitzen Zahlen mit doppelter Genauigkeit 53 signifikante Bits, was etwa 15,95 Dezimalstellen entspricht. Während dies theoretisch zu 16 Dezimalstellen der Darstellung führen sollte, runden Implementierungen auf 15 ab (gekennzeichnet durch DBL_DIG).
Zur Veranschaulichung: Die Funktion nextafter() kann die nächsten darstellbaren Zahlen neben einem bestimmten Wert anzeigen. Bei der Anwendung auf 1,0/7,0 (0,14285714285714285) beobachten wir 17 angezeigte Dezimalstellen. Die Änderung der letzten Ziffer gibt die tatsächliche Präzision der Darstellung an.
Präzision und Zufall
Im Fall von 1.0/7.0 stimmt die letzte angezeigte Ziffer zufällig mit der überein mathematischer Wert (5). Bei anderen sich wiederholenden Dezimalzahlen (z. B. 1,0/3,0) stimmt die letzte Ziffer jedoch möglicherweise nicht überein, was die Einschränkungen der präzisen Dezimaldarstellung deutlich macht.
Das obige ist der detaillierte Inhalt vonWarum zeigt Double Precision für einige sich wiederholende Dezimalstellen 17 Dezimalstellen an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!