Hallo ermal,
ich bin blutiger Anfänger in PB und würde gerne wissen ob es in PB vorzeichenlose Datentypen gibt (im Handbuch hab ich keine gefunden).
Ich bräuchte vorallem einen vorzeichenlosen Byte-Datentyp (0-255), da ich Dateiformate auslesen will, welche Bytewerte im Header haben.
vorzeichenlose Datentypen
vorzeichenlose Datentypen
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!

Re: vorzeichenlose Datentypen
@Thorium:Thorium hat geschrieben:Hallo ermal,
ich bin blutiger Anfänger in PB und würde gerne wissen ob es in PB
vorzeichenlose Datentypen gibt (im Handbuch hab ich keine gefunden).
Ich bräuchte vorallem einen vorzeichenlosen Byte-Datentyp (0-255), da ich
Dateiformate auslesen will, welche Bytewerte im Header haben.
AFAIK gibt es in PB selber keine vorzeichenlosen Datentypen.
Aber Du kannst Dir ja mal DROOPY's UserLib anschauen, die enthält meines
Wissens eine Funktion namens Convert Byte/Word signed to unsigned.
Den entsprechenden Thread und Downloadlink findest Du hier :
http://forums.purebasic.com/german/viewtopic.php?t=3246
Im englishen Forum wurde mal folgende Procedure zum Thema gepostet:
Code: Alles auswählen
Procedure SignedBinaryToUnsigned(byte.b)
ProcedureReturn byte & $ff
EndProcedure

So long,
benny!
.
nur t0te f1sche schw1mmen m1t dem str0m - 00100 !
benny!
.
nur t0te f1sche schw1mmen m1t dem str0m - 00100 !
- NicTheQuick
- Ein Admin
- Beiträge: 8809
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
Eigentlich reicht schon der folgende Code:Dann braucht man keine Procedure und merklich langsamer ist es auch nicht.
Wenn du Geschwidigkeit willst, empfehle ich dir Rings' FastFile-Lib, die du in der PureArea in der Rubrik UserLibs findest.
Code: Alles auswählen
ASCII.l = ReadByte() & $FF
Wenn du Geschwidigkeit willst, empfehle ich dir Rings' FastFile-Lib, die du in der PureArea in der Rubrik UserLibs findest.