long2byte bug???

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
R4z0r1989
Beiträge: 521
Registriert: 12.06.2005 18:06
Kontaktdaten:

long2byte bug???

Beitrag 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:
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
R4z0r1989
Beiträge: 521
Registriert: 12.06.2005 18:06
Kontaktdaten:

Beitrag von R4z0r1989 »

danke :shock:

das wusst ich garnicht ^^
hast mir sehr geholfen

MFG R4z0r1989
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Na dann schau dir mal in der Hilfe die Seite "Variablen, Typen und Operatoren" an, kann ich dir nur empfehlen.
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Antworten