Wie Blitzmax einem zu Verzweifeln bringen kann.... :(
Übersicht BlitzMax, BlitzMax NG Beginners-Corner
simiBetreff: Wie Blitzmax einem zu Verzweifeln bringen kann.... :( |
Sa, Nov 05, 2005 21:20 Antworten mit Zitat |
|
---|---|---|
Dieser Code:
Code: [AUSKLAPPEN] For i = 1 To 5
Print "int("+String(2^i)+") = "+String(Int(2^i)) Next gibt folgende Ausgabe: Code: [AUSKLAPPEN] int(2.0000000000000000) = 2
int(4.0000000000000000) = 4 int(7.9999999999999982) = 7 int(15.999999999999998) = 15 int(32.000000000000000) = 32 Warum rundet hier int nicht richtig.... Oder rundet int bei C auch nicht?? Gruss simi |
||
Dreamora |
Sa, Nov 05, 2005 23:41 Antworten mit Zitat |
|
---|---|---|
Wenn du die Hilfe liest, dann wirst du feststellen, das Int einfach nur alles hinter dem Komma abschneidet. Anders als in den alten Blitz wo es rundet.
Fürs runden gibts andere Befehle. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
rema |
So, Nov 06, 2005 0:02 Antworten mit Zitat |
|
---|---|---|
in diesem Einfachen fall musst du nur CEIL nehmen:
Code: [AUSKLAPPEN] For i = 1 To 5 Print "int("+ Ceil(2^i) +") = "+String(Ceil(2^i)) Next |
||
simi |
So, Nov 06, 2005 16:28 Antworten mit Zitat |
|
---|---|---|
Ok, danke, wusste ich noch nicht
cu simi |
||
stfighter01 |
So, Nov 06, 2005 16:42 Antworten mit Zitat |
|
---|---|---|
ja, aber aufpassen:
ceil(2.00001)= 3 |
||
Denken hilft! |
Dreamora |
So, Nov 06, 2005 16:54 Antworten mit Zitat |
|
---|---|---|
einfache variante:
Code: [AUSKLAPPEN] function round:int(input:double) return int(input + 0.5) end function |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
poet |
So, Nov 20, 2005 14:53 Antworten mit Zitat |
|
---|---|---|
Gehört zwar nicht ganz zum Thema, aber ich muss sagen mich bringt ja eher zur Verzeiflung das 2^3 bei BlitzMax 7.9~ ergibt ... wenn man sich da schon nicht auf Genauigkeit verlassen kann was passiert dann bei komplexeren Berechnungen ...
Das 2^5 dann wieder genau 32 ergibt verwirrt mich dann noch mehr ... |
||
Artemis |
So, Nov 20, 2005 14:55 Antworten mit Zitat |
|
---|---|---|
bei einer potenzieren wird einfach in double-rechnung umgeschaltet. das heisst, dass nicht so genaue ergebnisse herauskommen. | ||
Übersicht BlitzMax, BlitzMax NG Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group