Moin,
bitte entschuldigt wenn ich hier für einige Meister der Programmierung
eine viel zu triviale Frage stelle und allein deswegen Spot, Empörung
oder Belustigung auslöse. :D
Ich habe ein uint8_t Array der Größe zwei und ich möchte eine uint16_t
Variable mit dem Inhalt des Arrays füllen.
Ich tat dies so:
1 | uint8_t array[2] = {0x22, 0x66};
|
2 | uint16_t b = array[0]<<8 | array[1];
|
3 | printf("0x%04X\n", b);
|
4 |
|
5 | --> 0x2266
|
Der Compiler warnt mich das:
1 | Warnung: Umwandlung von »int« nach »uint16_t« {aka »short unsigned int«} könnte den Wert ändern [-Wconversion]
|
Kann ich die Warnung in diesem Fall einfach ignorieren weil der Compiler
anscheinend nicht weiß das ich zwei uint8_t zu einem uint16_t vereinen
möchte oder ist meine Umwandlung nicht gut gemacht und man macht das
generell anders?