Seite 2 von 2
Verfasst: 14.02.2008 23:22
von hardfalcon
Dann wirds halt gefixt, 4.20 is ja noch in der Beta-Phase... Käfer sind da, um gejagt zu werden...

Verfasst: 15.02.2008 19:50
von PMV
Na hauptsache jemand sagt es Fred noch bevor die PB4.20 Final ist
... interessantes verhalten ist es aber schon
MFG PMV
Verfasst: 15.02.2008 20:20
von Kaeru Gaman
anscheinend wird da ne long als float interpretiert oder umgekehrt....
Verfasst: 15.02.2008 21:48
von #NULL
Na hauptsache jemand sagt es Fred noch bevor die PB4.20 Final ist Wink
im englishen forum ist gerade auch ein thread dazu.
ich denke mal es wird kein 'bug-fix' geben, denn er kann das bestimmt nicht so einfach ändern.
Verfasst: 16.02.2008 00:02
von ZeHa
Ist das der Thread mit der nicht endenden For-Schleife? Oder welcher ist es? Habe keinen anderen gefunden der in Frage käme...
Verfasst: 16.02.2008 00:04
von Kaeru Gaman
ne, der thread mit der nicht endenden for-schleife war das problem,
wenn man was anderes als long für ne for-schleife nimmt...
das hat nix mit nem float-integer-mixup zu tun...
hat er keinen aktuellen thread geschrieben?
Verfasst: 16.02.2008 00:25
von #NULL
Verfasst: 16.02.2008 05:19
von mk-soft
Codeoptimierung
Code: Alles auswählen
; distance.l = 10
MOV dword [v_distance],10
;
; If distance < (64 * 0.5)
MOV ebx,dword [v_distance]
XOR eax,eax
CMP ebx,eax
JGE _EndIf2
; Debug "kleiner"
; Else
JMP _EndIf1
_EndIf2:
; Debug "groesser"
; EndIf
_EndIf1:
Sieht aus nach optimierung
1. distance ist Long -> also
2. auch 64 ist Long -> also
3. Mache aus 0.5 ein Long -> Result 0
4. 64 * 0 -> Result 0
5. Vergeiche mit 0
hmm
Ist also eine frage der Interpretierung. Ich Denke ein Bug aber mit Diskusionsbedarf.
Eine Vermischung von Zahlentypen hat schon immer in allen P-Sprachen zu unklarheiten geführt.
Bei "C" sollte damals immer mit Typeangaben bei wechsel gearbeitet werden. Sonst gabs eine Fehlermeldung.
Code: Alles auswählen
distance.l = 10
If distance < Int(64.0 * 0.5)
Debug "kleiner"
Else
Debug "groesser"
EndIf
So ist es eindeutig für den Compiler
Habe schon immer vermieden (auch vor PB) Float und Long zu mischen. Und wenn, dann habe ich eine eindeutige Zuweisung durchgefuhrt.
und dann erst weiter gerechnet.