Thread Perl Bug bei int? (44 answers)
Opened by Rolf_PlusW at 2013-03-01 11:29

GUIfreund
 2013-03-05 19:09
#166234 #166234
User since
2011-08-08
559 Artikel
BenutzerIn
[default_avatar]
2013-03-05T12:09:12 Muffi
Es gibt auch kein Grundrauschen der Gleitkommaarithmetik.

Damit hatte ich die unvermeidlichen Rundungsfehler beim Umwandeln zwischen Dezimal und Binär gemeint. Du gibst deine Zahlen als Dezimalzahlen ein und lässt die Ergebnisse als solche ausgeben. Intern wird mit Gleitkommazahlen, also Binärzahlen, gearbeitet. Raubtier zeigt in msg #166228 zwei Beispiele, wo verlustfrei umgewandelt wird. Es klappt z. B. auch mit 17.625 = 17 + 1/2 + 1/8.
2013-03-05T12:09:12 Muffi
Subtraktion: Bei fast gleich großen Zahlen ..... Da kanns gefährlich werden

Bei Addition gilt sinngemäß dasselbe (bei entgegengesetzten Vorzeichen).
Außerdem noch die Mult. mit sehr großen und die Div. durch absolut sehr kleine Zahlen: da werden die Rundungsfehler mit skaliert.

Mein Fazit: Man kann bei Gleitkomma den Rundungsfehlern nicht entkommen. Deshalb bewundere ich biancas int-Routine um so mehr. Ich war freilich überzeugt, dass auch diese nicht perfekt ist. Vielen Dank an Muffi für das Beispiel.
Gruß
GUIfreund

View full thread Perl Bug bei int?