007
14.02.2008, 16:50 Uhr
mmc20
puss in boots
|
beschreib mal bitte etwas genauer was dir noch unklar ist.
wenn in deinem array werte sind die als WORD gespeichert sind dann sind das 2 BYTE, also ein WORD setzt sich aus einem LOBYTE und einem HIBYTE zusammen, wichtig zu wissen ist: welches zuerst im array liegt. zb in deinem array an stelle 50 und 51, 50 ist das LOBYTE, 51 das HIBYTE. das heisst du musst das HIBYTE 8bit nach links schieben (oder mit 2^8 multiplizieren, was 256 ist) und dann mit dem LOBYTE addieren.
@BurningBrain was du mit dem memcopy willst versteh ich auch nicht ganz... dann könntest du doch gleich das array entsprechend referenzieren
C++: |
BYTE arr[] = { 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80 }; WORD tmp = *((WORD*)&arr[2]);
|
in tmp steht dann das WORD von array-position 2 = 0x0804 Dieser Post wurde am 14.02.2008 um 17:09 Uhr von mmc20 editiert. |