Lange Konstante
-
Erklär mal genauer was du machen willst. So hört es sich doch ein wenig merkwürdig an.
-
ROFLMAO

-
Die große Zahl ist im Speicher exakt darstellbar, aber zu lang für den Datentyp double. Es geht darum die Konstante so dazustellen, dass Sie sich eben aus vielen kleinen Zahlen (siehe oben) durch Multiplikation oder Division zusammen setzen läßt. Alternativ auch Hexadezimal. Das Problem ist die Zahl exakt zu faktorisieren.
-
Das bringt dir aber auch nix, denn nur so als Hinweis: Wenn die Zahl dann zur Laufzeit berechnet wird passt sie immer noch nicht in eine double-Varible.

Achja und 0xFFFFF braucht gleich viel Speicher wie 1048575 (dec)

Gruß
-
Was soll ich denn nach Deiner Meinung machen?
-
hjdt schrieb:
Was soll ich denn nach Deiner Meinung machen?
Standardantwort: http://www.swox.com/gmp/
Das ist eine C-Library mit C++ Wrapper für große Zahlen.Eventuell solltest du auch nochmal überdenken ob du diese Zahl wirklich so genau brauchst. Wenn du nur mit solchen Großen Zahlen rechnest kannst du z.b. mit 30.191699398572 rechnen und ein * 10^x dazudenken.
Gruß
-
GMP ist aber nur für Ganzzahlen oder?
-
frage? schrieb:
GMP ist aber nur für Ganzzahlen oder?
Wer lesen kann ist klar im Vorteil!
What is GMP?
GMP is a free library for arbitrary precision arithmetic, operating on signed integers, rational numbers, and floating point numbers. There is no practical limit to the precision except the ones implied by the available memory in the machine GMP runs on. GMP has a rich set of functions, and the functions have a regular interface.
Gruß
-
Du wirst lachen, aber die multiplakative Version von oben funktioniert ganz
hervorrangend unter Linux. Nur unter Windows mit dem Vis.-Studio tritt dieser Fehler auf. GMP kann ich aus verschiedenen Gründen leider nicht verwenden.
Die Genauigkeit brauche ich in der Tat.
-
Dann musst du dir eben dein eigenes GMP programmieren.