Extreme Zahlen -wie sag ich's Blitz..?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Wanderer

Betreff: Extreme Zahlen -wie sag ich's Blitz..?

BeitragDi, Aug 10, 2004 1:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Eine Frage... ich habe einige Tabellen mit Zahlenwerten, die ich in mein Programm füttern müsste. Das Problem ist, das Blitz diese Werte so nicht schlucken kann. Beispiel:

.2E-3
-.7E-3
-.14E-2
-.52E-2
usw...

Wie muß ich diese Zahlen notieren, damit Blitz sie schlucken kann? Die Genauigkeit müsste aber unbedingt erhalten bleiben.

Jolinah

BeitragDi, Aug 10, 2004 2:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Das kann man einfach umrechnen. E bedeutet Anzahl 10er Stellen um die Verschoben wird:

.2E-3 = 0.2 * 10^-3 = 0.0002
-.7E-3 = -0.0007
-.14E-2 = -0.0014
-.52E-2 = -0.0052

usw..

Bei plus Werten werden die Stellen einfach in die andere Richtung verschoben:

.2E3 = 0.2 * 10^3 = 200
3E2 = 300

In Blitz selber weiss ich nicht ob man es mit dieser E Form notieren kann, aber normalerweise kann man das nicht. Muss halt alles manuell umgerechnet werden.


Edit:

Es geht doch. Hätte ich nicht gedacht Wink

Code: [AUSKLAPPEN]

a# = Float#("1e6")
a# = Float#("1e-6")


Natürlich muss es für positive Zahlen und Zahlen ohne Kommas nicht unbedingt ein Float sein, für alle anderen aber schon.

Ich hatte bisher immer ne Funktion für das geschrieben die den String zerteilt und es dann manuell ausrechnet Wink Jetzt hab ich wieder selber was gelernt.
 

Wanderer

BeitragDi, Aug 10, 2004 2:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Perfekt -danke für die Hilfe Very Happy
 

Wanderer

BeitragDi, Aug 10, 2004 11:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmmm... und wie stelle ich das z.B. in folgendem Fall an:

(Pow(au,1.5)*(1-e*Cos(ea)))

Die fehlende Funktion Pow() könnte man mit au^1.5 ersetzen, oder? Aber wie schreibe ich das mit dem (1-e*Cos(ea)) um?

TheShadow

Moderator

BeitragDi, Aug 10, 2004 11:50
Antworten mit Zitat
Benutzer-Profile anzeigen
oh hätte ich auch nicht gedacht Smile
gibts bestimmt auch nan und infinity
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2

Jolinah

BeitragDi, Aug 10, 2004 19:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Wanderer hat Folgendes geschrieben:
Hmmm... und wie stelle ich das z.B. in folgendem Fall an:

(Pow(au,1.5)*(1-e*Cos(ea)))

Die fehlende Funktion Pow() könnte man mit au^1.5 ersetzen, oder? Aber wie schreibe ich das mit dem (1-e*Cos(ea)) um?



Was ist in deinem Fall e und ea?

Ich dachte e dient für das: * 10 ^ Zahl nach dem E
In deinem Fall hast du gar keine Zahl nach dem E sondern multiplizierst direkt. Und was du mit ea meinst weiss ich auch nicht genau.

Naja ist für mich vielleicht schon zu hohe Mathematik *g*.

Aber wenn ich das richtig sehe müsstest du es mindestens so schreiben:

Code: [AUSKLAPPEN]
(au# ^ 1.5)*(1-e1*Cos(ea))


Aber wegen der Notierung damit es von Blitz auch wirklich richtig erkannt wird würd ich das mit nem String machen und in Float umwandeln.

Code: [AUSKLAPPEN]
(au# ^ 1.5)*(Float#("1-e1")*Cos(ea))

joachim_neu

BeitragMi, Aug 11, 2004 9:27
Antworten mit Zitat
Benutzer-Profile anzeigen
oder du schreibst dir schnell ne funktion Pow#...

function pow#(x#,y#)
return x^y
end function
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group