Ausdruck vereinfachen

Gast #1999041
Lesenswert?

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...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren