Jens schrieb:
>
1 | > WORD Len = ((value & 0xFF) << 8);
|
2 | > Len |= ((value & 0xFF00) >> 8);
|
3 | >
|
Kommt ganz stark auf die Datentypen an. Wenn beide 16 Bit und
vorzeichenlos sind, geht auch folgendes:
1 | uint16_t neu, alt;
|
2 |
|
3 | neu = (alt << 8) | (alt >> 8);
|
Beim Linksschieben fallen die oberen 8 Bit heraus und von links werden
Nullen nachgeschoben. Beim Rechtsschieben genauso. Allerdings geht das
natürlich in die Hose, falls 'alt' breiter als 16 Bit ist, denn dann
werden dort ggf. keine Nullen mehr nachgeschoben...