Der Beitrag ist bald 10 Jahre alt und basiert auf dem "Windows-Taschenrechner im Wissenschaftlichen Modus”. Kann man dem vertrauen?
Auszüge mit Matlab nachgerechnet:
>> pi
ans =
3.141592653589793
>> sqrt(4)-2
ans =
0
>> 3/5000
ans =
5.999999999999999e-04
>> ans*5000
ans =
3.000000000000000
Es ist natürlich bei solchen Beispielen immer eine Frage der internen Rundung bei der Darstellung von Ergebnissen.
Grundsätzlich wird hier darauf herumgeritten, dass manche Zahlen im Dezimalsystem wenige Stellen benötigen, während sie im Binärsystem unendlich viele Stellen bräuchten. Es gibt aber auch Zahlen, die umgekehrt im Binärsystem mit wenigen Ziffern auskommen, während sie dezimal unendlich werden.
Immer wenn man rechnet, muss man sich ums korrekte Runden Gedanken machen. Das gilt auf dem Papier, beim kaufmännischen Rechnen, bei DSP, es gilt immer.
Dass ich in Rechenungenauigkeiten hineinzoomen kann, sollte nie verwundern (wenn ich die letzten Bits einer 53stelligen Mantisse betrachte, dann ist das verständlicherweise nicht mehr exakt).
Das ist eine sehr gute Lösung, um Bit-identisch wie die Original-Hardware zu rechnen.
Aber dass eine Koeffizienten-Länge von 24 Bit für einige DSP-Algs zu ungenau sein kann und man vielleicht bessere klangliche Resultate (z.B. weniger Verzerrrungen, weniger Aliasing, weniger Grundrauschen, ...) mit mehr Bits erreichen könnte, lässt sich nicht überprüfen. Der Source-Code des Virus wurde exakt auf den Motorola 56000 zugeschnitten und müsste für jede andere CPU komplett überarbeitet werden (und ob damit irgendetwas "besser" werden würde, ist eine vielleicht nicht einmal interessante Frage).