Merk dir eines:
Es gibt 3(!) kleine Datentypen
signed char
unsigned char
char
Bei char überlässt du es dem Compiler, ob er dafür ein Vorzeichen
annehmen will oder nicht. UND DAS WILLST DU NICHT!
char nimmst du nur dann, wenn du Textverarbeitung machst. Ansonsten
nimmst du immer entweder signed char oder unsigned char! Diese unselige
Praxis, den Datentyp Byte mit 'char' gleichzusetzen, die stellst du
gleich wieder ab. Die bringt mehr Ärger als sonst was. Wenn du 1 Byte
haben willst, dann ist der Datentypen dafür 'unsigned char' oder
'uint8_t'. Und dann hast du auch weniger Probleme.