BYTE Konvertierung
-
hallo,
zwei fragen wie konvertiere ich eine variable vom Datentyp BYTE nach char bzw. von BYTE nach integer?
-
BYTE? Kenn ich nicht, ist auch kein ISO C. Aber idr. sollte BYTE ein typedef (ein besonders hässliches, wenn es komplett groß geschrieben wurde) auf char sein, weil char die größe 1 bytes hat, also brauchst du keine Konvertierung. Nach int sollte sich das implizit casten
-
@kingruedi
vielleicht (sicher) bin ich im falschen forum, hier ein zitat aus der mfc:Commonly used Windows SDK and MFC data types are as follows:
BYTE: An 8-bit integer that is not signed.
-
es wurde ja gesagt, dass BYTE kein ISO C Typ ist. Du zitierst die mfc....da gibts so einige Typen die nicht ISO C sind.
Aber ist ja auch egal....du hast ja die erklärung was es ist.
-
für die MFC gibt es übrigens ein eigenes Forum
Aber wie gesagt ein char hat die größe ein byte, deswegen sollte das alles ohne Probleme klappen.
-
Ein unsigned char, oder??
-
ist BYTE jetzt vom typ unsigned char oder vom typ unsigned 8 bit integer.
ich bekomme beim auslesen einen typ von unsigned char (also ein zeichen), eigentlich muesste ich doch eine zahl bekommen?
isst die beschreibung aus der mfc falsch.
p.s.:sorry, dass der beitrag immer noch im ansi c forum ist
vielleicht kann mans ja vesrchieben?
-
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;