Hallöchen, ich würde gerne zwei char-Werte aus meinem Array in einer Variablen vom Typen short speichern, weiß aber noch nicht so ganz, wie ich das machen muss. mein Array: char array[2] = {0,2} mein Wert in der short variablen soll danach wie folgt aussehen: short temp = 2. Danke schonmal im Voraus:) Florian
Danke für die schnelle Antwort. Wenn ich genau das mache bekomme ich 12848 in meiner Variablen als Wert heraus.
kann es sein, dass er statt der 0 und der 2 die dazugehörigen Asciiwerte nimmt, also für 0 die 48 und für 2 die 50? Wenn ja, wie kann ich das unterbinden?
Sebastian V. O. schrieb: >
1 | short temp = (array[1] << 8) | array[0]; |
Genau andersherum, denn es soll ja 2 als Ergebnis herauskommen: short temp = (array[0] << 8) | array[1]; Es empfiehlt sich, hier prinzipiell mit unsigned zu arbeiten, sonst bekommt man bei "negativen" Werten ungewollte Effekte.
Ja, so ist es, grad getestet. Aber dazu muss man schreiben:
1 | char array[2] = {'0','2'}; |
Wenn du den Wert irgendwo als ASCII her hast, dann ist es einfach
1 | short temp = ((array[0]-'1') << 8) | (array[1]-'0'); |
Wunderbar, ich danke euch für eure schnelle Hilfe. Jetzt klappt alles:)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.