![]() |
Hohe Fakultät nicht möglich?
Hallo,
für eine mathmatische Funktion wollt ich die Fakultät errechnen lassen. Festgestellt habe ich dabei dass dies nur beschränkt möglich ist. Mittels Integer * Fakultaet(Integer - 1) lässt sich nur bis 30! ein Ergebnis erzielen, danach erscheint 0. Mir ist klar das ein zu hoher Integer zum Überlauf führen kann. Kann man dies nicht abfangen und trotzdem ein Ergebnis erhalten? Grüße Privateer |
Re: Hohe Fakultät nicht möglich?
Du kannst einen Int64 benutztn, der kommt etwas höher (um genau zu sein: 2^32 mal höher) als der normale Integer ;)
Aber mit 32 Bit kannst du nur noch 12! darstellen, 13! geht über die Grenze des Cardinals ;) |
Re: Hohe Fakultät nicht möglich?
Hier im Forum mal auf Suche gehen das Thema wurde schon sehr oft behandelt.
Zb. ![]() Gruß Hagen |
Re: Hohe Fakultät nicht möglich?
Danke Leute
|
Re: Hohe Fakultät nicht möglich?
Wie stellt man das an
wenn ein Überlauf mit zb 1.3456 E62 dargestellt werden soll? Da blick ich noch nicht durch.... |
Re: Hohe Fakultät nicht möglich?
Du könntest auch einfach nen Double nehmen, der kann extrem hohe Zahlen darstellen (zu Lasten der Genauigkeit ...)
|
Re: Hohe Fakultät nicht möglich?
für was brauchst du die hohen Fakultäten überhaupt? Kannst du sie nicht mit etwas Mathe umgehen?
|
Re: Hohe Fakultät nicht möglich?
Danke Leute,
die hohen fakultäten sind mitunter beim Binomialkoeffizienten notwendig. Da ich im Bereich der Kombinatorik einige Versuche machen will. Sollte man den Koeffizienten anders berechnen können... immer her damit ! :-) Mit abgekürzten Zahlen wie 1,23456E+016 kann man keine weiterführene Berechnungen anstellen. Oder doch :?: Grüße |
Re: Hohe Fakultät nicht möglich?
Reicht dir den TBigInteger von Hagen da auch nicht aus?
Was willst du denn genau berechnen? Kannst du nicht eine andere Verteilung benutzen? |
Re: Hohe Fakultät nicht möglich?
Du kannst den Binominalkoeffizienten anders berechnen ;)
Denn hier: ![]() Kannst du die verschiedenen Fakultäten zumindest Teilweise gegeneinander kürzen ;) Da müsste auch etwas Code irgendwo sein ... :gruebel: ![]() ![]() (1) (c) Wikipedia, 3.9.2007 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz