Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Hohe Fakultät nicht möglich? (https://www.delphipraxis.net/98569-hohe-fakultaet-nicht-moeglich.html)

Privateer3000 29. Aug 2007 08:57


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

jfheins 29. Aug 2007 09:16

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 ;)

negaH 29. Aug 2007 09:23

Re: Hohe Fakultät nicht möglich?
 
Hier im Forum mal auf Suche gehen das Thema wurde schon sehr oft behandelt.

Zb. http://www.delphipraxis.net/internal...t%E4t&start=20

Gruß Hagen

Privateer3000 29. Aug 2007 09:28

Re: Hohe Fakultät nicht möglich?
 
Danke Leute

Privateer3000 30. Aug 2007 08:33

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....

jfheins 30. Aug 2007 10:20

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 ...)

Nikolas 30. Aug 2007 10:26

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?

Privateer3000 3. Sep 2007 08:10

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

Nikolas 3. Sep 2007 09:02

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?

jfheins 3. Sep 2007 09:22

Re: Hohe Fakultät nicht möglich?
 
Du kannst den Binominalkoeffizienten anders berechnen ;)

Denn hier: http://upload.wikimedia.org/math/a/e...f1e0981da8.png(1)
Kannst du die verschiedenen Fakultäten zumindest Teilweise gegeneinander kürzen ;)

Da müsste auch etwas Code irgendwo sein ... :gruebel:

Hier im Forum suchenBinomial :arrow: http://www.delphipraxis.net/internal...=303010#303010 ;)

(1) (c) Wikipedia, 3.9.2007


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:58 Uhr.
Seite 1 von 2  1 2      

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