Grosse Zahlen
-
ich hab z.b. ein programm, das die fakultät berechnet. Wenn ich eine sehr grosse Zahl eingeben, z.b. 343, dann bekomme ich als ergebnis "1.#INF00". Benutze double, bzw. %lf im printf. Kann man keine grösseren zahlen darstellen?
-
long double ist uU größer als double.
Wenn dir das auch nicht reicht, musst du zu einer externen Bibliothek ausweichen, die große Zahlen darstellen kann.zB GMP
Nachteil ist natürlich, dass der Code dadurch merklich langsamer wird - weil ja nicht mehr mit native Zahlen gerechnet werden kann.Also check erst, ob dir long double reicht bevor du GMP installierst.
-
und wie schreib ich einen long double im printf?
-
%ld ?
-
sicher? weil %d ja dezimal ist, wäre ld dann nicht n long int?
-
Hi!
Stimmt, ld ist long int. Du musst lf benutzen. long float, sprich double.
Code-Hacker
-
hmm, ihr lest wohl net alles. lf isn double, meine frage war aber wie ich nen long double ins printf schreib
-
Hi!
Habe auch nicht alles gelesen.
Aber wenn du mal google etwas benutzen würdest, hättest du es schon längst gehabt:
http://www.uni-muenster.de/ZIV/Mitarbeiter/RainerPerske/C-Vorlesung/C-Beispiel04.cCode-Hacker
-
Sowas kann man übrigens auch der Doku entnehmen - die sollte alle Formatspezifier von printf/scanf aufgelistet haben, ansonsten sollte man sich eine andere Doku suchen...