Problem beim schiften

#1964016
Lesenswert?

Ich würde übrigens empfehlen, bei Shifts es immer in Klammern zu 
schreiben, also

uint16_t ergebniss = (data[1] << 8) | data[0];

Ist zwar bei dem binären ODER nicht notwendig, aber z.B. das hier gibt 
nicht das gewünschte Resultat, obwohl man das auf den ersten Blick 
meinen würde:

uint16_t ergebniss = data[1]<<8 + data[0];

da + und - eine höhere Ordnung als der Shift-Operator haben und es so 
ausgewertet wird:

uint16_t ergebniss = data[1] << (8 + data[0]);

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