Ausgabe von sehr grossen Zahlen
-
Hallo!
Ich habe mir gerade eine Funktion geschrieben, die mir die Fakultät einer Zahl zurückliefert.
Leider stiess ich dabei auf das Problem, dass ich keine Fakultät über 19 mehr berechnen kann, da meine integer anscheinend "überläuft" (wenn man das denn so nennt ^^). Ich bekomme dann meist irgendwelche negativen Werte.Ich habe auch probiert, andere Datentypen zu benutzen (hab gedacht das würde was helfen) z.B. long oder unsigned int, doch die bringen mir auf der Konsole nur die gleiche falsche Ausgabe.
Wisst ihr vielleicht wie man dieses Problem lösen könnte?
Antworten wären nett.
mfg. euer Gast
-
Je nach Compiler gibt es long long oder _int64
Außerdem gibt es für große Zahlen eine Bibliothek. Ich glaube, boost hat so was auch. Weiß ich aber nicht. Ich werd mir auch demnächst eine Klasse für SEHR große Zahlen schreiben (mit Strings).
-
-
Danke für die Antworten.
Danke für das Lib.
-
aehhh...gibts vielleicht auch noch ein lib das eher für Anfänger und Win32 Benutzer gemacht worden ist. Ich hab gerade mal C++ gelernt, und da soll ich jetzt ein C lib kompilieren etc...
Das würde mich sicher wieder einen oder mehrere Tage Zeit kosten. Also wenn es dazu Alternativen gibt, dann sagt sie mir bitte.Ansonsten machts gut ihr!
-
Moin,
der Datentyp "double" kann Zahlen von 2,2 * 10^-308 bis 1,8 * 10^308 aufnehmen.
Das sollte für die meissten Sachen reichen, oder ?MfG
-
naja nur ist double für anwendungen wo es um fakultäten geht wohl kaum sinnvoll... ist ja schliesselich eine fliesskommazahl.