3 Stimmen

Wie werden mathematische Bibliotheken mit unendlicher Präzision implementiert?

Ich weiß also über die Präzision von Gleitkommazahlen Bescheid (und darüber, wie Dinge wie 1,1 nicht genau im Binärsystem ausgedrückt werden können) und all das, aber ich frage mich: wie implementieren mathematische Bibliotheken dann die unendliche Präzision? Mit anderen Worten, wie würden Sie beispielsweise 1,1 genau im Binärsystem darstellen? Eine kurze Beschreibung wäre toll, ich kann die genauen Details selbst herausfinden. Danke. :)

-1voto

the_drow Punkte 17695

Während Pax völlig richtig ist, wenn es um Fließkommazahlen und Zahlen geht, glaube ich, dass es eine Lösung gibt, aber sie ist sehr ineffizient.
Sie können einen String verwenden, um Ihre Zahl darzustellen, Strings verlieren keine Genauigkeit.
Immer wenn Sie eine Zahl wie "0.0001" + "0.1" haben, durchlaufen Sie beide Strings und konvertieren nur die aktuelle Position in eine Ganzzahl um.
Schritt 1:
0 + 0 = 0 -> in String konvertieren und data[0] zuweisen.
Schritt 2:
0 + 1 = 1 -> in String konvertieren und data[1] zuweisen.
Schritt 3:
iter > "0.1".lenght() -> stop.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X