VarTyp long und die Ausgabe stimmen nicht überein...

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

 

morszeck

Betreff: VarTyp long und die Ausgabe stimmen nicht überein...

BeitragFr, Jan 07, 2005 14:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Ab dem Wert i = 20 wird die Ausgabe von k negative, obwohl k als long deklariert wurde...
Denke mal da stimmt was Print nicht. Getestet habe ich es unter Linux...

Aber die Berechnung ist sauschnell Smile


Code: [AUSKLAPPEN]
 Local i:int                    ' zaehler

Local k:long = 1                     ' nennner

Local l:Double                        ' Euler'sche Zahl e = 2,718281828459...


For i=1 To 100

   k = k * i

   l = l + (1.0/k)

   Print i + "> "+ (l+1) +"    "+ k

Next
 

Dreamora

BeitragFr, Jan 07, 2005 14:50
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hab irgendwo im englischen ma gelesen das bei den rechenoperationen ein automatischer typecast durchgeführt wird, glaub auf double rüber ...

kannst von daher ma versuchen k * i durch long( k * i ) zu ersetzen ...
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Vertex

BeitragFr, Jan 07, 2005 14:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm, also wenn ich das richtig verstehe, wird zu guter letzt 100! ausgerechnet. Ich kann jetzt nicht die Dimensionen einer so hohen Fakultät schätzen, aber von schon 6! = 720 und das ganze noch größer ansteigt als eine 2er Potenz(denn 2^6 = 64) kommst du mit 63 Bit für den Betrag nicht aus für Fakultät 100!
mfg olli
vertex.dreamfall.at | GitHub

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group