Aufgaben vollständig gelöst
-
Runden von 1.000 Beträgen auf die nächste ganze Einheit bei einer wahren Summe von 98.351,63 7 Schritte
Ein Geschäft rundet 1.000 Beträge auf die nächste ganze Einheit und addiert sie. Die wahre Summe beträgt 98.351,63. Berechne, wie das gerundete Ergebnis unter jeder Regel ausfällt, und entscheide, welche das Geschäft verwenden sollte.
-
Kläre die Regel, bevor die Spalte ins Spiel kommt. Nehmen wir 2,5. Das kaufmännische Runden macht daraus 3. Das Runden zum Geraden macht daraus 2, weil 2 der gerade Nachbar ist.
-
Prüfe, dass das Runden zum Geraden tatsächlich abwechselt und nicht immer abrundet. 3,5 wird bei beiden Regeln zu 4, weil der gerade Nachbar dieses Mal oben liegt.
-
Nun zur Spalte. Von den 1.000 Beträgen liegen nur 11 exakt in der Mitte. Die beiden Halb-Regeln stimmen also bei 989 davon überein und können sich um höchstens 11 unterscheiden. Das ist eine Einheit pro Mitte.
-
Addiere die gerundeten Werte. Das kaufmännische Runden liefert 98.360, was 8,37 über dem wahren Wert liegt. Das Runden zum Geraden liefert 98.354, also 2,37 darüber. Die 6 dazwischen stammen von jenen 11 Mitten.
-
Der größte Teil dieser Abweichung kommt gar nicht von den exakten Mitten. Es ist gewöhnliches Runden, das bei 1.000 normalen Beträgen in beide Richtungen gleichermaßen wahrscheinlich ist. Um die Regeln selbst anstelle des Rauschens zu sehen, stelle die Spalte auf exakte Mitten um, sodass jeder Wert eine solche Mitte ist. Das kaufmännische Runden liegt dann um 500 zu hoch und das Runden zum Geraden weicht um 6 ab.
-
Wende zum Vergleich das Abrunden (Floor) auf die ursprüngliche Spalte an. Das ergibt 97.866, was um 486 zu niedrig ist. Das rigorose Abrunden zieht fast jedem Wert etwas ab und beschränkt sich nicht auf die exakten Mitten. Seine Abweichung benötigt daher keine exakten Mitten, um sich anzusammeln.
-
Welche Regel verwendet werden sollte, hängt folglich davon ab, was geschützt werden soll. Für einen einzelnen Beleg reicht jede Halb-Regel aus, und der Unterschied beträgt nie mehr als eine halbe Einheit. Über ein ganzes Kassenbuch hinweg belässt nur eine Regel ohne bevorzugte Richtung die Summe dort, wo sie begonnen hat.
Antwort
98.360 beim kaufmännischen Runden, 98.354 beim Runden zum Geraden, 97.866 beim Abrunden (Floor), gegenüber wahren 98.351,63. Das Geschäft sollte das Runden zum Geraden verwenden. Nicht etwa, weil es bei einem bestimmten Betrag genauer wäre; dort ist es manchmal sogar schlechter. Sondern weil seine Fehler keine Richtung haben und sich somit nicht anhäufen. Das kaufmännische Runden irrt sich bei jeder exakten Mitte um eine halbe Einheit nach oben, ohne jede Ausnahme.
-
-
1,005 auf zwei Stellen, und die Mitte, die keine ist 7 Schritte
Runde 1,005 auf zwei Dezimalstellen. Rechne heraus, was die Maschine wirklich hält, wenn du das eintippst, und entscheide dann, ob eine Tabellenkalkulation mit der Antwort 1,00 einen Fehler gemacht hat.
-
Als Dezimalzahl ist es eine exakte Mitte: 1,005 steht gleich weit von 1,00 wie von 1,01, das kaufmännische Runden schickt es also nach oben, und das Feld gibt 1,01 aus.
-
Die Maschine hält keine Dezimalzahl. Ein Double ist eine Summe von Zweierpotenzen, und 0,005 ist ein Zweihundertstel, dessen Nenner eine 5² trägt, die keine Zweierpotenz liefern kann. Die Binärentwicklung endet nie.
-
Gespeichert wird das nächstgelegene Double, und es liegt um etwa 1,07 × 10⁻¹⁶ unter 1,005. Exakt verglichen ist das überhaupt keine Mitte, und das kaufmännische Runden schickte es hinunter auf 1,00.
-
Die Lücke wird in dem Moment sichtbar, in dem der Wert zum Vergleichen skaliert wird. 1,005 × 100 ist 100,49999999999999, dessen Nachkommateil um 1,42 × 10⁻¹⁴ hinter einer Hälfte zurückbleibt.
-
Deshalb rastet das Runden hier ein. Alles, was innerhalb von 8 Maschinenschritten um eine Hälfte liegt, wird als Hälfte behandelt, und in dieser Größenordnung ist dieses Fenster 1,79 × 10⁻¹³ breit, also mehr als zehnmal so breit wie die Lücke. Das Feld beantwortet die Frage, die du zur Dezimalzahl gestellt hast, und nicht die, die das Binärsystem gestellt hat.
-
Die Toleranz ist nicht umsonst zu haben, und die Spalte zeigt, was sie kostet. Tausend Werte, die auf ,005 enden, jeder um ein halbes Hundertstel hochgeschoben, tragen die Summe 5,00 über die Wahrheit. Das Runden zum Geraden teilt dieselben Mitten auf und kommt auf 0,07.
-
Zwei der anderen Voreinstellungen sind grundsätzlich anders. 2,5 und 12,5 haben exakte Binärformen, sie sind also auch in der Maschine Mitten und nicht nur auf dem Papier, und es ist keine Toleranz im Spiel. „Genau die Hälfte“ ist eine Eigenschaft der Dezimalzahl, die du eingetippt hast, und sie überlebt in die Maschine hinein nur für jene Hälften, die wirklich Hälften sind.
Antwort
1,01, und eine Tabellenkalkulation mit der Antwort 1,00 hat recht über die Zahl, die sie hält, und unrecht über die Zahl, die du getippt hast. Der gespeicherte Wert liegt 1,07 × 10⁻¹⁶ unter 1,005, ein exakter Vergleich sieht also nie eine Mitte, und das Einrasten ist das, was die Antwort dorthin zurückholt, wo ein Leser sie erwartet. Keine Rundungsregel behebt das darunterliegende Problem. Geld gehört in ganzzahlige Cent oder in einen Dezimaltyp, wo 1,005 eben 1,005 ist und die Frage gar nicht erst aufkommt.
-
Lernpfad
Eine Zahl aufschreiben
Quellen (2)
- Why half-to-even is the default rather than the rule taught in school, and what else the standard fixes: IEEE, "IEEE Standard for Floating-Point Arithmetic." IEEE Std 754-2019, 2019.
- The long-form explanation of why 1.005 is not stored as 1.005, and what follows from it: D. Goldberg, "What Every Computer Scientist Should Know About Floating-Point Arithmetic." ACM Computing Surveys 23(1), 5–48, 1991.