Seite 1 von 1

long2byte bug???

Verfasst: 25.02.2008 19:39
von R4z0r1989

Code: Alles auswählen

string$ = Chr(150)
long.l = Asc(string$)
Byte.b = long.l

Debug string.s
Debug long.l
Debug byte.b
Wieso bekomm ich da dieses Ergebnis:

Code: Alles auswählen

150
-106
wieso ist da die long ein anderer Wert als der byte???

:freak: :freak: :freak:

Verfasst: 25.02.2008 19:43
von Kaeru Gaman
weil das byte das achte bit als vorzeichen benutzt.

bytewerte gehen von -128 bis +127
abhilfe schafft ein &255, bzw die verwendung des typs Char:

Code: Alles auswählen

string$ = Chr(150)
long.l = Asc(string$)
Byte.b = long.l
char.c = long.l

Debug string.s
Debug long.l
Debug byte.b
Debug "----- &255"
Debug byte.b & 255
Debug "----- char"
Debug char.c

Verfasst: 25.02.2008 19:47
von R4z0r1989
danke :shock:

das wusst ich garnicht ^^
hast mir sehr geholfen

MFG R4z0r1989

Verfasst: 25.02.2008 20:23
von AND51
Na dann schau dir mal in der Hilfe die Seite "Variablen, Typen und Operatoren" an, kann ich dir nur empfehlen.