Entwickler-Ecke

Algorithmen, Optimierung und Assembler - integer, int64, real, extended oder was ist am besten?


mehmeh - Mi 21.09.05 14:19
Titel: integer, int64, real, extended oder was ist am besten?
hi ich mache gerade ein Programm zur berechnung der Wahrscheinlichkeit.
Dazu brauche ich die Fakultät, ansich kein Problem.
Ich brauche das Ergebnis der Fakultät als ganze Zahl d.h 17! = 355687428096000. So weit so gut
aber bei 18! hörts auf, dann bekomm ich 6,402373705728E15 und dass will ich nicht.
Wie krieg ich es anders hin?
Welchen datentyp muss ich nehmen? Bisher nehm ich Int64.
real/double und extended hab ich auch schon ausprobiert und das sieht es genau so aus.
Was kann ich tun?


Gausi - Mi 21.09.05 14:28

Du kannst ggf. deine Formeln anpassen, sodass du diese Riesenzahlen überhaupt nicht benötigst. Z.B. kann man die Binomialkoeffizienten über Fakultäten berechnen, aber auch über das Pascalsche Dreieck.

Wenn du die wirklich großen Zahlen genau benötigst, bleibt dir aber nix anderes übrig, als dich nach einer Unit umzuschauen, die mit großen Zahlen arbeiten kann. Probier mal ne Suche nach BigNumbers oder so.


mehmeh - Mi 21.09.05 15:04

gibt es vielleicht im Edit oder MaskEdit etwas, das ich umstellen kann, damit die ganze Zahl angezeigt wird?