Informationen zur höheren Genauigkeit von Berechnungen in Pages, Numbers und Keynote

Nach einem Update von Pages, Numbers und Keynote stellen Sie möglicherweise geringfügige Änderungen bei den Ergebnissen der Berechnungen in Ihren Dokumenten fest. Das liegt daran, dass das Berechnungsmodul in der neuesten Version von iWork aktualisiert wurde und jetzt Ergebnisse mit noch größerer Genauigkeit als zuvor liefert.

Die meisten Formeln zeigen keinen sichtbaren Unterschied, aber Berechnungen, die extrem kleine Zahlen ergeben oder verwenden, liefern möglicherweise ein noch präziseres Ergebnis.

Beispiel 1

In früheren Versionen von Numbers, Pages und Keynote ergab eine Berechnung wie z. B. = 10,0 - 9,8 den Wert 0,199999999999999.

Durch Ändern der Anzahl der in der Zelle angezeigten Dezimalstellen (zwischen 1 und 14 Dezimalstellen) kann das Problem behoben werden, sodass das erwartete Ergebnis von 0,2 angezeigt wird. Durch Erhöhen der Anzahl der Dezimalstellen in der Zelle ergibt sich 0,199999999999999000000000000000.

Dies liegt an der Art und Weise, in der Binärdateien Dezimalzahlen intern speichern. Binärdarstellungen von Dezimalzahlen können zu sehr kleinen Abweichungen führen. Das Berechnungsmodul in Pages, Numbers und Keynote hat immer ausgefeilte Techniken verwendet, um zu verhindern, dass diese Unterschiede in Berechnungen aggregiert werden. Bei sehr hohen Genauigkeiten können die Unterschiede jedoch offensichtlich werden.

Das neue Berechnungsmodul wurde im Vergleich zu früheren Versionen wesentlich verbessert, indem die Zahlen in der gesamten Berechnung dezimal dargestellt werden.

Im Ergebnis ergibt die gleiche Berechnung = 10,0 - 9,8 nun den Wert 0,2. Wenn Sie die Anzahl der angezeigten Dezimalstellen erhöhen, wird jetzt der Wert 0,2000000000000000000000000000000 angezeigt.

Beispiel 2

In früheren Versionen von Numbers gab die Formel RUNDEN(8,415;2) den Wert 8,41 zurück. Auch dies liegt daran, wie Werte intern im Binärformat gespeichert werden.

Mit dem neuen Berechnungsmodul gibt RUNDEN(8,415;2) den Wert 8,42 zurück.

Binary Coded Decimal im Vergleich zu Decimal Floating Point

Die meisten Computer speichern Zahlen als eine Reihe von Nullen und Einsen, also als binäre Werte. Ein Prozess, der als BCD-Kodierung (Binary Coded Decimal) bezeichnet wird, konvertiert Bruchzahlen in ihre binären Entsprechungen. Wenn Zahlen mit BCD kodiert werden, können einige Werte nicht mit vollständiger Präzision dargestellt werden. Beispiel: 0,2 entspricht in binärer Form 0,001100110011... (wiederholend). Der Wert muss abgeschnitten werden, um ihn mit BCD zu kodieren, wodurch der gespeicherte Wert geringfügig geändert wird. Obwohl die durch BCD verursachten Abweichungen sehr gering sein können, werden diese Abweichungen deutlicher, wenn sie durch bestimmte Arten von Berechnungsketten verstärkt werden.

Die neuesten Versionen von Pages, Numbers und Keynote kodieren Zahlen mit der 128-Bit-DFP-Codierung (Decimal Floating Point). Dies ist eine viel genauere Methode zum Kodieren von Dezimalbrüchen, bei der Rundungsfehler vermieden werden, die für die BCD-Kodierung typisch sind. Darüber hinaus arbeitet das aktualisierte Berechnungsmodul direkt mit DFP-kodierten Zahlen. Die Werte in Tabellenzellen werden genauer gespeichert und die Formelergebnisse genauer berechnet.

Viele Formeln zeigen keinen sichtbaren Unterschied, aber Berechnungen, die extrem kleine Zahlen ergeben oder verwenden, liefern möglicherweise ein noch genaueres Ergebnis.

Veröffentlichungsdatum: