long double zu ungenau
-
Hi ...
mein Problem ist, das bei der Berechnung von
powl(39, 29)
das Ergebniss 1.3831637671E+46 lautet. Dies entspricht diesem Wert:
13831637671000000000000000000000000000000000000
und wenn ich es selbst berechne kommt dies herraus:
13831637670618865315545398098596852261222647559
durch diese Ungenauigkeit habe ich dann eine Abweichung von 3
fmodl(die Zahl, 91)
das Ergebniss sollte 65 lauten aber 62 kommt herraus.
also suche ich nun einen Datentyp der größer als long double (80 Bit, 18-stellige Genauigkeit, 3.37 10^-4932 < |X| < 1.18 10^4932) ist ...
hat jemand evtl eine Idee???
Danke
-
Konnte man in der Modulorechnung nicht auch nach den einzelnen "Zwischenschritten" modulo rechnen? Also multiplizieren, modulo, multiplizieren, modulo usw?
Oder musst du erst den Riesenwert berechenen und dann modulo rechnen?
-
es gibt sonst keine Zwischenschritte ...
nur 39 hoch 29 und das Ergebniss modulo 91
-
-
Hallo,
Standardmäßig gibt es da nichts Größeres. Du könntest ein Bibliothek zum Rechnen mit beliebig großen Zahlen verwenden (z.Bsp. GNU MP) oder du versuchst deinen Algorithmus so zu ändern, dass du nicht über so große Zahlen gehen mußt.
-
und wie mache ich das mit dieser Bibliothek? wie bindet man soetwas ein?
-
Könnte das Problem nicht auch die generelle Ungenauigkeit bei Fließkommawerten sein?
-
Joe_M. schrieb:
Könnte das Problem nicht auch die generelle Ungenauigkeit bei Fließkommawerten sein?
Deswegen ja der Vorschlag mit einer speziellen Bibliothek, die große Zahlen mit exakter Genauigkeit darstellen kann.
Gruß,
Alexander
-
Bezüglich der Installation derartiger Biblitheken würde ich erstmal deren Hilfe konsultieren, dann versuchen zu installieren und wenn dann wieder Probleme auftreten hier wieder nachfragen.
-
entschuldigt bitte meine Unwissenheit diesbezüglich, aber sind deise Bibliotheken nicht nur was für Linux User?
-
C++ (nach Standard) ist plattformunabhängig.
@Braunstein: Sorry, da hab ich wohl auf der Leitung gestanden.

-
@Xeper
geht auch unter Windows sofer keine plattformabhängigen Bibliotheken verwendet werden.
hier
http://www.cs.nyu.edu/exact/core/gmp/
ist eine Anleitung für Windows. Allerdings nicht für den BCB. Da aber VC6 geht sollte eigentlich auch der BCB möglich sein. Ich schau mal nach, veilleicht findet sich noch was Besseres.