Hallo, ich habe eine einfache Frage, eigentlich nur, weil mein Compiler
mich mit seiner Warnung etwas verwirrt:
Ich habe eine 32 Bit Variable und eine 8 Bit Variable. Nun möchte ich
die 8 Bit-Variable an verschiedene Stellen der 32-Bit-Variable schieben,
im Prinzip diese Byteweise auffüllen, von MSB nach LSB.
Dafür hatte ich
1 | uint32_t 32bit_var = 0;
|
2 | uint8_t 8bit_var = 0xFF;
|
3 |
|
4 | 32bit_var = (8bit_var <<16);
|
geshiftet, um die 8bit-variable an die zweite Byte-Stelle zu schieben:
32 Bit variable:
| 1. Byte | 8bit_var | 3. Byte | 4. Byte |
Mein Compiler sagt mir aber nun:
"Left shift count >= width of type"
Stimmt meine aktion oben oder habe ich einen Fehler gemacht?