Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Fakultät berechnen (https://www.delphipraxis.net/54979-fakultaet-berechnen.html)

Michael Leyhe 14. Okt 2005 14:13

Re: Fakultät berechnen
 
Problem bei Integer ist auch, dass der Wert dann irgendwann wieder negativ wird. *deutet auf die Signatur*

himitsu 14. Okt 2005 14:15

Re: Fakultät berechnen
 
Eventuell liegt es daran, daß bei Double nur etwa die ersten 8 Stellen relevant sind ... die hinteren Stellen sind nicht wirklich vorhanden und können Fehler in der Berechnug hervorrufen :)

Extendet wird da mit seinen 10 (oder waren es 18 :gruebel: - aber egal, an die nötigen 101 Stellen komt es so, oder so nicht ran) relevanten Stellen auch nicht hilfreich sein.
also bleibt da nur noch der Weg über eine BigMath-Lib -.-''

tigerman33 14. Okt 2005 15:34

Re: Fakultät berechnen
 
Wozu willst du die Fakultät überhaupt als Gleitkommazahl berechnen? Das Ergebnis ist doch sowieso ganzzahlig. :gruebel:

himitsu 14. Okt 2005 15:46

Re: Fakultät berechnen
 
Weil die vielleicht nicht in einen Interger reinpaßt?
Nichtmal ein Int64 kann 101 Stellen aufnehmen :zwinker:


Wie gesagt Lehmar ... versuch es mal mit 'ner BigMath-Lib, die mit soooo großen Zahlen ohne Rechnenfehler arbeiten kann ;)

ripper8472 14. Okt 2005 15:59

Re: Fakultät berechnen
 
doubles haben 52 bit signifikante bits, das entspricht 15-16 stellen

ein int64 hat 19-20 stellen

[log(2) / log(10) * bits]

20000! hat 77338 stellen.
50000! hat 213237 stellen und braucht bei mir (mit python) 20,9 sekunden zur berechnung.

schon 21! sprengt die 64bit grenzen. (21! = 51090942171709440000)

Ultimator 14. Okt 2005 16:03

Re: Fakultät berechnen
 
@ripper:
[log(2) / log(10) * bits] geht auch kürzer: [log(2) * bits], denn lgo(10) ist 1 ;)

ripper8472 14. Okt 2005 16:07

Re: Fakultät berechnen
 
wer sagt, dass ich den logarithmus zur basis 10 meine? koennte ja auch der natuerliche sein... :tongue:

tigerman33 14. Okt 2005 16:12

Re: Fakultät berechnen
 
Hmm, da habt ihr natürlich Recht. Dann stellt sich mir allerdings die Frage, wieso ein 64-Bit-Fließkommatyp größere Werte annehmen kann als ein 64-Bit-Ganzzahltyp. Selbst wenn man das Vorzeichenbit abzieht. (Wo speichert die Fließkommazahl eigentlich die Kommaposition?)

Kidix 14. Okt 2005 16:18

Re: Fakultät berechnen
 
hagen hatte doch da mal eine schöne unit zur berechnung von fakultäten die auch was größer sind.

Dax 14. Okt 2005 16:19

Re: Fakultät berechnen
 
http://de.wikipedia.org/wiki/Gleitkommazahl sagt alles ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:34 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz