P
nimm mal einen Buchataben "A" und speichere ihn in einem char
und mach folgendes damit
char buffer[20];
unsigned char test='A';
itoa( test, buffer, 2 );
printf("a=%c , b=%3i , c=%3u, d=%3x, e=%3o , f=%s ",test,test,test,test,test,buffer);
Das Ergebnis
a=A, b=64 , c=64 , d=40, e=100, f=1000000
a Darstellung als Buchstabe
b=Darstellung als signed int
c=Darstellung als unsigned int
d=Darstellung als Hexadezimalwert
e=Darstellung als Octalwert
f=Darstellung als binaer Wert
In allen Fällen handelt es ich um die selbe variable ob du die als BYTE oder als UINT8 oder als unsigned char bezeichnet ist inhaltlich dasselbe, die Daten werden in den 8 Bits eine Bytes gespeichert.
nimm jetzt mal folgende Definition
unsigned char = 64;
und wiederhole die obige Aktion, du wirst feststellen es gibt keinen Unterschied.
Zu den oben genutzten Typen, man könnte wie folgt definieren:
typedef unsigned char BYTE;
typedef unsigned char UINT8;