Zahl in einzelne Bytes konvertieren?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

Kernel32

Betreff: Zahl in einzelne Bytes konvertieren?

BeitragDo, Jan 24, 2008 14:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich möchte eine Zahl zwischen 0 und 65535 (also einen 2-Byte Short Wert) als zwei einzelne Bytes über UDP verschicken. Der Client soll dann diese beiden Bytes wieder zur ursprünglichen Zahl zurückkonvertieren.

Könnte mir jemand evtl. einen Tipp geben, wie man eine Short Zahl in zwei einzelne Byte (und wieder zurück) konvertieren könnte? Sad
-------------
Wollte neulich Herrn Brot anrufen, aber da war belegt.
Dann hab ich bei Wheight Watcher's angerufen, aber niemand hat abgenommen.
Schliesslich hab ich im Irak angerufen, aber dort war besetzt o.O

D2006

Administrator

BeitragDo, Jan 24, 2008 14:22
Antworten mit Zitat
Benutzer-Profile anzeigen
jetzt mal so frei nach dem Kopf:

Code: [AUSKLAPPEN]
rechte_acht_byte = zahl AND $FF
linke_acht_byte = zahl SHR 8


zusammenfügen:

Code: [AUSKLAPPEN]
zahl = rechte_acht_byte OR linke_acht_byte
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2
 

Kernel32

BeitragFr, Jan 25, 2008 11:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke dir Very Happy

Hab da auch noch etwas in den Code-Archiven gefunden:

Code: [AUSKLAPPEN]
Function crunch2$(num)
   byte2=num Shr 8 And %11111111
   byte1=num And %11111111
   Return Chr$(byte2)+Chr$(byte1)   
End Function

Function uncrunch2(bytes$)
   byte2=Asc(Left$(bytes,1)) Shl 8
   byte1=Asc(Right$(bytes,1))
   Return byte2 Or byte1
End Function
-------------
Wollte neulich Herrn Brot anrufen, aber da war belegt.
Dann hab ich bei Wheight Watcher's angerufen, aber niemand hat abgenommen.
Schliesslich hab ich im Irak angerufen, aber dort war besetzt o.O

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group