byte Array
-
Hallo zusammen!
wenn ich ein byte array habe, mit z.B. folgenden werten:
'12','4A','33'
wieso bekomme ich dann immer nur die 1, wenn ich array[0] ausgebe?ich will doch die 12, ein byte speichert doch zwei werte, oder?ich weiß, ein byte ist ein unsigned char.
danke, gruss,
florian
-
Wie was wo? Zeig mal ein Code-Beispiel.
-
Shlo schrieb:
Wie was wo? Zeig mal ein Code-Beispiel.
byte rbArray[4]={'12','30','4A','4B'}; printf(rbArray[1]);
dann kommt 3 statt 30 als ausgabe.
danke im voraus!
-
Hallo,
byte speichert doch zwei werte
Wie zwei Werte? Ein char speichert 256 verschiedene Werte. Dein Code ist ja auch völlig falsch. Soll das C sein? Du musst printf schon sagen, was er wie ausgeben soll, und den Datentyp byte gibts auch nicht....
char rbArray[4]={12,64,4, 5}; printf("%c\n", rbArray[1]);
-
Bekommst du denn keine Warnung oder ähnliches? '12' ist doch kein einzelnes Zeichen, sondern eine Zeichenkette (die ' müssten durch " ersetzt werden) die dann auf char abgeschnitten wird, deshalb siehst du nur die 1.
byte b[] = {12,30,0x4a,0x4b}; //oder '\x4a', '\x4b'
-
bekomme keine antwort.
nein, ich benutze soweit es geht c++.
alsoMemoFeld->Lines->Add(rbArray[1]);
warnung bekomme ich keine.
" sind nicht zulässig bei einem byte array.jo ich weiß dass ein byte 255 werte speichern kann. drum, ein hexadezimales 4A=74.
Danke Shlo, die 0x haben mir gefehlt. Vielen Dank,
bis ein ander mal!
florian
-
Hallo nochmal!
Wenn ich diesen byte array
byte b[] = {12,30,0x4a,0x4b};
jetzt in einen unsigned int array umwandeln möchte, wie geht das denn?
dankedanke!
-
unsigned int array[4];
array[0] = rbArray[0];
einfach kopieren, Informationsverlust tritt ja keiner auf
-
sehr gut, ich bin entzückt von diesem forum und euch dankbar, ihr fleißigen helfer!
Daaaanke!
florian