Endlos genaue Double Zahl in C?
Hallo,
ich programmiere zurzeit in C und brauche für ein Programm endlos genaue Double Zahlen, also mit (theoretisch (bis der RAM voll ist)) unendlich vielen Nachkommastellen.
Ich wollte wissen, ob jemand eine empfehlenswerte Libary (natürlich für C) kennt.
Danke
1 Antwort
Auch wenn die "Hilfreichste Antwort" bereits vergeben wurde, hier noch einige Fakten:
Vorsicht bei trigonometrischen Funktionen per GMP: oft wird nur bis 200000 Stellen richtig gerechnet -> deshalb ist Validierung mit anderen Algorithmen wichtig!
Oft ist https://github.com/Mysticial/NumberFactory
sehr viel schneller, weil FFT Multiplikation & Multithreading verwendet wird!
Wenn Du eine konkrete Formel hast, würde ich gern Geschwindigkeitsvergleiche (und letzte Stellen, weil meist falsch!) mit anderen Programmen machen, da es gerade bei Zahlen um 1 Mrd. Stellen große Unterschiede gibt: Bis Faktor weit über 50000
Für 3^x=pow(3,x) habe ich das mal verglichen: http://www.gerdlamprecht.de/Bilder/Vergleich3HochX_Mio.png
Das für c# mitgelieferte BigInteger.Pow ist da über 52000 mal langsamer!
Dann wird auch gern bei der Zeitmessung geschummelt: intern kann man hexadezimal schneller rechnen. Die Wandlung der Hex-Zahl in eine dezimale kann sogar langsamer sein (wird gern der Speicherzeit mit untergeschoben), als die eigentliche Berechnung.
Grüße
Also nicht 1 mal 2 Mrd. Stellen, sondern 2 Mio. mal 1000 stellige Zahlen.
Ich brauche die Zahlen, um die Mandelbrotmenge auszurechnen und da halt reinzuzoomen.