128 Bit Zahlen



  • Hallo,

    ich programmiere gerade einen Taschenrechner. Die Rechnungen mit double-Variablen sind allerdungs nicht ausreichend genau. ich benötige Variablen die Zahlen auf 20 Stellen genau speichern können.

    Gibt es eine relativ einfach Mölglichkeit einen Allgorithmus zu implementieren dereine Zahl auf 2 double Variablen verteilt?

    mfg

    j_freeze



  • Naja, einfach ist relativ. Es gibt aber viele Libs zu dem Thema. Einfach mal nach "Arbitrary Precision Library" googlen 😉 .



  • Dir ist auch bekannt, dass du sämtliche mathematische Algorithmen der FPU, welche mit 'double' rechnen, neu implementieren musst?



  • ich brauche eigentlich nur die 4 Grundrechenarten.

    Wenn ich dich richtig verstanden habe heißt das wenn ich 3 double-Variablen x, y, und z folgendermaßen verwende:

    x = y + z;
    

    bekomme ich kein richtiges Ergebniss?

    warum gibt es dann überhaupt double-Variablen?



  • Wenn eine Zahl der Operation double-Genauigkeit hat, hat auch das Ergebnis nur double-Genauigkeit und keine 20 Stellen.



  • Du kannst ja auch eine eine eigene Datenstruktur entwerfen, die jede Ziffer in einem Array der Länge 60 (30 Vorkomma, 30 Nachkomma) enthält. Du musst natürlich alle Rechenoperationen für diese Klasse neu implementieren.

    Mit OOP könnte man das sehr schön regeln. (Allgemeines Objekt mit beliebiger Genauigkeit)

    Da es ja auf Geschwindigkeit bei deinem Taschenrechner nicht auf jede Nanosekunde ankommt kann man das ganze ja in einer Dezimalarithmetiksimulation implementieren.


Anmelden zum Antworten