Casten von Float auf Long auch bei Vergleichen?!

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
Benutzeravatar
hardfalcon
Beiträge: 3447
Registriert: 29.08.2004 20:46

Beitrag von hardfalcon »

Dann wirds halt gefixt, 4.20 is ja noch in der Beta-Phase... Käfer sind da, um gejagt zu werden... :lol:
Benutzeravatar
PMV
Beiträge: 2765
Registriert: 29.08.2004 13:59
Wohnort: Baden-Württemberg

Beitrag von PMV »

Na hauptsache jemand sagt es Fred noch bevor die PB4.20 Final ist :wink:
... interessantes verhalten ist es aber schon :shock:

MFG PMV
alte Projekte:
TSE, CWL, Chatsystem, GameMaker, AI-Game DLL, Fileparser, usw. -.-
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

anscheinend wird da ne long als float interpretiert oder umgekehrt....
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
#NULL
Beiträge: 2237
Registriert: 20.04.2006 09:50

Beitrag 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.
my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
ZeHa
Beiträge: 4760
Registriert: 15.09.2004 23:57
Wohnort: Friedrichshafen
Kontaktdaten:

Beitrag 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...
Bild     Bild

ZeHa hat bisher kein Danke erhalten.
Klicke hier, wenn Du wissen möchtest, woran ihm das vorbeigeht.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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?
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
#NULL
Beiträge: 2237
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

my pb stuff..
Bild..jedenfalls war das mal so.
Benutzeravatar
mk-soft
Beiträge: 3855
Registriert: 24.11.2004 13:12
Wohnort: Germany

Beitrag 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.

Code: Alles auswählen

FloatVal.f = LongVal.l
und dann erst weiter gerechnet.
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Antworten