Hallo zusammen,
angenommen ich habe ein 8 Bit Array mit zwei Werten und eine 16 Bit
Variable auf einem 16-Bit Microcontroller.
1 | uint8 Array[2];
|
2 | uint16 Var;
|
Wenn ich jetzt Array[0] mit Array[1] zu einem 16 Bit Wert zusammensetzen
möchte, kann ich das auf folgende Art machen?
1 | Var = (Array[0] + (Array[1] << 0x08));
|
oder brauche ich folgenden cast:
1 | Var = (Array[0] + (uint16)Array[1] << 0x08);
|
Wenn ich den 8 Bit Wert um 8 Stellen schiebe, dann bekomme ich einen
Overflow oder weiß der Compiler an dieser Stelle, was ich machen möchte
und schiebt den 8 Bit Wert auf eine 16 Bit Variable?