Taschen recher für mega zahlen
-
liebe freunde des programmierens.
ich brauche einen Recher der mir 4(3,2*109)ausrechnet.
alle rechener die ich bis jetzt gefunden habe schaffen diese aufgabe nicht.
daher die frage an euch ob ihr mir nicht eine anleitung geben könnt so einen zu programmieren am besten mit 10nerpotenzen bis 10^999999999 oder höher, mit Fakultät(!), *,+,/,-,^,().
vielen dank im vorraus
WWJumper
-
Hey,
ob es sehr klug ist, weiss ich nicht, aber ich würds mit einem array aus integern machen.
Musst dir halt die Überläufe und so überlegen
-
Da musst du aber schon ein spezielles Programm schreiben...
4(3.2*109) = 2(6.4*109) => 6.4*10^9 + 1 Bit. Das wären also gerade einmal 800mb, damit lässt sich doch fix rechnen! Und hinten dann halt noch ein paar Nachkommastellen ran.
-
Dazu brauchst Du eine spezielle Math-Bibliothek, z.B.:
http://www.apfloat.org/apfloat/Siehe auch:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-41474.html
-
@Decimad: bei deiner rechnung ist ein gr0ßer logic feheler 4(3,2*109) ist identisch mit 4^3200000000. und das ist nicht identisch mit 6.4*10^9 + 1 Bit.
vielen dank für die schlnelle antwort aber die Pogrammen die ihr vorgeschlagen habt schließen sich sofort nach dem öfnen
-
WWJumper schrieb:
vielen dank für die schlnelle antwort aber die Pogrammen die ihr vorgeschlagen habt schließen sich sofort nach dem öfnen
Lol das liegt wohl eher daran, dass du so ziemlich keine Ahnung hast, wie man diese Programme richtig ausführt.

Die musst du nämlich schon direkt aus der Konsole heraus starten, damit du ihre Ausgabe auch länger als bis zum Programmende bestaunen kannst!
-
wie önfen ich dem mit der konsole???
ich habe nicht viel arnung vom programmieren.
aber ich weis das 4(3.2*109) nicht identisch ist mit 6.4*10^9 + 1Bit.
Auch wenn ich warscheinlich nichtmal halbsoalt bin wie ihr es seit...
naja anderes thema hir geht es ja eher darum 4(3.2*109) auszurechnen.
-
Lade Dir doch ein Math-Programm runter, was das kann (war sowas nicht in einer der letzten c't s?)
-
WWJumper schrieb:
@Decimad: bei deiner rechnung ist ein gr0ßer logic feheler 4(3,2*109) ist identisch mit 4^3200000000. und das ist nicht identisch mit 6.4*10^9 + 1 Bit.
Ich hab 4 durch 2^2 ersetzt und entsprechend den exponenten verdoppelt um auf die form 2^x zu kommen. 2^x braucht in normaler darstellung mindestens x+1 bit. Zeigst du mir bitte, wo der Logikfehler ist?