Rechnung gibt falsches Ergebnis.


  • Mod

    @Finnegan sagte in Rechnung gibt falsches Ergebnis.:

    Für grosse Welten wird man dann aber wohl auch verschiedene hierarchische Koordinatensysteme haben. Denke nicht das so ein aktueller MS Flugsimulator für die gesamte Erde mit einem einzigen double-basierten Koordinatensystem arbeitet.

    Doch! Das sage ich doch gerade, dass 64-Bit Werte dumm genau sind. Selbst mit dem etwas ungünstigen Grad-System wäre die Auflösung in 2^64- Werte von der Schrittweite her im Bereich 1 Picometer!

    Bei dem Flugsimulator machen floating-points für die Koordinaten aber wenig Sinn, da es bei floating-Point darum geht, dass man 1.3574e-24 und 5.226e163 mit dem gleichen Datentyp darstellen kann. Das ist für Koordinaten auf der Erde nicht relevant, da würde man einen integerartigen Koordinatentyp wählen. Und selbst 32 Bit geben dir immer noch Zentimeterauflösung.



  • @SeppJ sagte in Rechnung gibt falsches Ergebnis.:

    @Finnegan sagte in Rechnung gibt falsches Ergebnis.:

    Für grosse Welten wird man dann aber wohl auch verschiedene hierarchische Koordinatensysteme haben. Denke nicht das so ein aktueller MS Flugsimulator für die gesamte Erde mit einem einzigen double-basierten Koordinatensystem arbeitet.

    Doch! Das sage ich doch gerade, dass 64-Bit Werte dumm genau sind. Selbst mit dem etwas ungünstigen Grad-System wäre die Auflösung in 2^64- Werte von der Schrittweite her im Bereich 1 Picometer!

    Ja, das muss man sich echt immer wieder mal ausrechnen, um sich dessen bewusst zu werden. Gebe dir recht. Da braucht man echt erst ein übergelagertes zweites Koordinatensystem, wenn die Welt grösser als ein Planet werden soll - oder man Objekte auf Atomgrösse braucht.

    Dabei hab ich selbst schonmal argumentiert, dass man bei der Vergabe eindeutiger 64-Bit IDs Überlauf und wieder freigewordene IDs ignorieren und einfach nur dumm hochzählen kann. Der Wertebereich hält für so ziemlich alle praktischen Belange "ewig" (fast 600 Mio. Jahre bei 1000 IDs/s). 64-Bit ints sind schon nicht immer leicht intuitiv begreifbar 😉



  • @Finnegan sagte in Rechnung gibt falsches Ergebnis.:

    Ja, das muss man sich echt immer wieder mal ausrechnen, um sich dessen bewusst zu werden. Gebe dir recht. Da braucht man echt erst ein übergelagertes zweites Koordinatensystem, wenn die Welt grösser als ein Planet werden soll - oder man Objekte auf Atomgrösse braucht.

    Es gibt für solch skurrilen Fälle bereits QuadPrecision Bibliotheken, die fast die Genauigkeit nativer Quad Precision Implementationen erreichen. Der große Unterschied zwischen IEEE Double und Quad ist, dass von den zusätzlichen 64Bit fast alles für eine Vergrößerung der Mantisse genutzt wird d.h. die Mantisse vergrößert sich von 53 auf 113 Bit. Der Exponent wächst nur von 11 auf 15 Bits.

    QuadPrecision konnten die HP PA CPUs in Hardware.


Anmelden zum Antworten