Sie haben hier wirklich zwei Fragen.
Warum braucht überhaupt jemand Gleitkomma-Mathematik?
Wie Karl Bielefeldt betont, können Sie mit Gleitkommazahlen kontinuierliche Größen modellieren - und diese finden Sie überall - nicht nur in der physischen Welt, sondern auch an Orten wie Wirtschaft und Finanzen.
Ich habe Gleitkomma-Mathematik in vielen, vielen Bereichen meiner Programmierkarriere eingesetzt: Chemie, AutoCAD-Arbeiten und sogar das Schreiben eines Monte-Carlo-Simulators, um finanzielle Vorhersagen zu treffen. Tatsächlich gibt es einen Typen namens David E. Shaw, der an der Wall Street auf Fließkommazahlen basierende wissenschaftliche Modellierungstechniken angewendet hat, um Milliarden zu verdienen.
Und natürlich gibt es Computergrafik. Ich berate Sie bei der Entwicklung von Eye Candy für Benutzeroberflächen, und wenn Sie dies heutzutage ohne ein solides Verständnis von Fließkomma, Trigonometrie, Kalkül und linearer Algebra tun, ist dies wie ein Schusswechsel mit einem Taschenmesser.
Warum sollte jemand einen Schwimmer gegenüber einem Doppelgänger brauchen ?
Bei IEEE 754-Standarddarstellungen erhalten Sie mit einem 32-Bit-Float eine Genauigkeit von etwa 7 Dezimalstellen und Exponenten im Bereich von 10 -38 bis 10 38 . Bei einem 64-Bit-Double erhalten Sie eine Genauigkeit von ca. 15 Dezimalstellen und Exponenten im Bereich von 10 -307 bis 10 307 .
Es mag so aussehen, als ob ein Schwimmer genug wäre für das, was irgendjemand vernünftigerweise brauchen würde, aber das ist es nicht. Beispielsweise werden viele reale Größen in mehr als 7 Dezimalstellen gemessen.
Aber subtiler gibt es ein Problem, das umgangssprachlich "Rundungsfehler" genannt wird. Binäre Gleitkommadarstellungen sind nur für Werte gültig, deren gebrochene Teile einen Nenner haben, der eine Potenz von 2 ist, wie 1/2, 1/4, 3/4 usw. Um andere Brüche, wie 1/10, darzustellen, "runden" Sie der Wert zum nächsten binären Bruch, aber es ist ein wenig falsch - das ist der "Rundungsfehler". Wenn Sie dann mit diesen ungenauen Zahlen rechnen, können die Ungenauigkeiten in den Ergebnissen weitaus schlimmer sein als die, mit denen Sie begonnen haben - manchmal multiplizieren sich die Fehlerprozentsätze oder häufen sich sogar exponentiell an.
Je mehr Binärziffern Sie bearbeiten müssen, desto näher ist Ihre abgerundete Binärdarstellung an der Zahl, die Sie darstellen möchten, sodass der Rundungsfehler geringer ist. Wenn Sie dann rechnen, können Sie, wenn Sie mit vielen Ziffern arbeiten müssen, viel mehr Operationen ausführen, bevor sich der kumulative Rundungsfehler dort ansammelt, wo es ein Problem ist.
Tatsächlich sind 64-Bit-Doubles mit ihren 15 Dezimalstellen für viele Anwendungen nicht gut genug. Ich habe 1985 80-Bit-Gleitkommazahlen verwendet, und IEEE definiert jetzt einen 128-Bit-Gleitkommatyp (16 Byte), für den ich mir vorstellen kann, dass er verwendet wird.