uInt32 davon 2 bytes
-
wie kann ich von einer uInt32 = 4 byte gross die ersten 2 bytes (low) haben und in eine uInt16 speichern?
representation von uInt32:
signed/unsigned bit + 2 high bytes + 2 low bytes
-
so z.b.
uint32 a = ...; uint16 b = (uint16)a;
-
HIWORD(a)
LOWORD(a)
-
HIWORD und LOWORD ist allerdings kein Standard C.
-
adolf schrieb:
wie kann ich von einer uInt32 = 4 byte gross die ersten 2 bytes (low) haben und in eine uInt16 speichern?
representation von uInt32:
signed/unsigned bit + 2 high bytes + 2 low bytesWenn du die Repräsentation schon so gut kennst... Das sign-bit kannst du vergessen da du ein uInt32 (wohl unsigned Int) hast, insofern...
uInt16 value = ( i >> 16 ) & 0xffff;