lange Kommazahlen
-
abs bis 3,14159 geschaft weiter geht die long double nicht
Das halte ich für ein Gerücht
-
so habs geschaft aber wie gib ich den meinen variablen einen wert (int)?
*edit:
wiso gerücht ich habs ja??
http://marcel.patzsch.de/Datein/pi.exe
der beweis
-
Gerücht weil long double sicherlich wesentlich länger als 3,14159 werden kann.
-
compilier mal folgenden Code, dann siehst du, was wir meinen:
#include <cmath> #include <iostream> #include <iomanip> #include <limits> int main() { long double pi = std::acos(-1.L); std::cout<<std::setprecision(std::numeric_limits<long double>::digits10)<<pi; }
-
krümelkacker schrieb:
Außerdem sind 3 Billionen = 3.000.000.000.000. Für 3 Billionen Dezimalstellen brauchst Du also etwa 1,13 Terabytes Speicher, nur um eine solche Zahl darstellen zu können, und noch viel mehr, wenn Du damit rechnen willst.
wer rechnet bei sowas denn mit dezimalstellen :p dürften bei 'ner 2^32-Basis unter 4 GB sein.
-
ahh... okey danke
komm jetzt noch ein bisschen weiter.
-
blubbblubb schrieb:
krümelkacker schrieb:
Außerdem sind 3 Billionen = 3.000.000.000.000. Für 3 Billionen Dezimalstellen brauchst Du also etwa 1,13 Terabytes Speicher, nur um eine solche Zahl darstellen zu können, und noch viel mehr, wenn Du damit rechnen willst.
wer rechnet bei sowas denn mit dezimalstellen :p dürften bei 'ner 2^32-Basis unter 4 GB sein.
3 Billionen Stellen Genauigkeit lassen sich auch in Binärdarstellung nicht in 4GB pressen. 1 Byte reicht für mehr als 2, aber weniger als 3 Dezimalstellen, binär kodiert (Es sei den, du jagst noch irgendwelche Komprimierungsalgorithmen drüber).
-
asc schrieb:
3 Billionen Stellen Genauigkeit lassen sich auch in Binärdarstellung nicht in 4GB pressen. 1 Byte reicht für mehr als 2, aber weniger als 3 Dezimalstellen ...
Vielleicht hat er ja 4 GB RAM oder mehr oder er lagert Zwischenwerte auf die Festplatte aus? Machbar ist alles mit dem richtigem Algorithmus und wenn man beherrscht, was System und Compiler verkraften.
Die Frage bleibt etwas für Mathe-Freaks. Für mich ist das nichts!
daddedu! :p
-
asc schrieb:
blubbblubb schrieb:
krümelkacker schrieb:
Außerdem sind 3 Billionen = 3.000.000.000.000. Für 3 Billionen Dezimalstellen brauchst Du also etwa 1,13 Terabytes Speicher, nur um eine solche Zahl darstellen zu können, und noch viel mehr, wenn Du damit rechnen willst.
wer rechnet bei sowas denn mit dezimalstellen :p dürften bei 'ner 2^32-Basis unter 4 GB sein.
3 Billionen Stellen Genauigkeit lassen sich auch in Binärdarstellung nicht in 4GB pressen. 1 Byte reicht für mehr als 2, aber weniger als 3 Dezimalstellen, binär kodiert (Es sei den, du jagst noch irgendwelche Komprimierungsalgorithmen drüber).
Habe ich oben doch schon vorgerechnet. Jedoch habe ich oben versehentlich mit englischen Billionen gerechnet (habs einfach in Google getippt). Wenn man diesen fehlenden Faktor 1000 berücksichtigt, kommt man auf rund 1.3 TB.
Rechnung: log(10)/log(2)*3 Billionen gibt Zahl der Bits.
-
fals sich hier jemand mit gmp auskännt...
wie gib ich den einer mpq-variable einen int oder double wert?
-
ich benutzte mpir, es ist eine sogenannte windows port für gmp und es ist extra für visual studio gedacht
unter dem link wird wie ich finde einfach erklärt wie man es unter windows und visual studio 2008 (ich glaube, ich habs mit 10 gemacht) zum laufen bringen kann
http://www.exploringbinary.com/how-to-install-and-run-gmp-on-windows-using-mpir/unten auf der seite ist ein beispiel wie du es machen kannst
-
das funktioniert bei mir nicht da ich visual express 2010 habe
-
dann installier dir nochmal die 2008 version, so hab ich das auch gemacht fällt mir grad so ein. das ist dann kompatiebel mit der 2010 version