Short to 16bit Chararray
-
Hallo
Hab ein Problem, vll könnt ihr mir helfen.
Ich habe den
short int zahl=100
(also 16 bits)
und den will ich in einen (16bit)chararray umwandeln.
ein char hat 8bits, hab mir gedacht mit
char nachr[2]
(16 bits), aber wie kann ich das umwandeln?
Hab im I-net gefunden es mit itoa() zu machen, dann bekomme ich zB
nachr[0]=1 nachr[1]=0 nachr[2]=0
raus. Aber ich will es als 16bit chararray speichern. Wo ist mein Denkfehler oder wie kann ich das umwandeln?
TIA
-
du koenntest es so machen:
short foo = 100; char *bar = (char *) &foo; bar[0] = 1; bar[1] = 2; printf("%d", foo);
-
danke für die antwort
was bewirkt aber
bar[0] = 1; bar[1] = 2;
EDIT:
wenn ich es so mache
bekomm ich mit
printf("bar[0]=\"%c\"\n",msg[0]); printf("bar[1]=\"%c\"\n",msg[1]);
bar[0]=100
bar[1]=0
-
Gibt es einen Befehl mit dem ich nur die ersten 8 bits eines short int auf einen char schreibe?
-
nachr[0]=zahl&0xFF00;
-
mata^ schrieb:
nachr[0]=zahl&0xFF00;
wohl eher
nachr[0]=(zahl&0xff00)>>CHAR_BIT;
-
erstmal danke für die antworten..
ich würd mich aber freuen, wenn etwas mehr dazu stehen würde, was es bedeutet.Hab jetzt versucht mich im internet weiterzubilden aber ist nicht so einfach wenn man nicht weiss worums genau geht. bräuchte dann noch den befehl um die letzen 4 bits auszulesen und/oder vll nen link, wo ich darüber etwas lesen kann.