Forum: Compiler & IDEs Hex Array in Int umwandeln


von kopfweh (Gast)


Lesenswert?

Hi, ich bin einfach zu blöde um das zu schaffen glaube ich.

Ich habe ein einfaches char array in dem meine Hexwerte (sagen wir mal 2 
Werte) gespeichert sind.
Wie kann ich diese zwei Werte in einen Integerwert umwandeln??

z.B. soll aus char carray[] = {0xFF, 0xFF}  die Zahl 65535 werden

von Max (Gast)


Lesenswert?

256 * carray[0] + carray[1];

von lkmiller (Gast)


Lesenswert?

signed, unsigend?
MSB, LSB?

falls unsigned  und MSB an höherer Adresse

256 * (short)carray[1] + carray[0];
oder
((short)carray[1]<<8) + carray[0];

von lkmiller (Gast)


Lesenswert?

Schlags kaputt.
Meine Worte: unsigned!

256 * (unsigned short)carray[1] + carray[0];
oder
((unsigned short)carray[1]<<8) + carray[0];

von Chris (Gast)


Lesenswert?

> ((unsigned short)carray[1]<<8) + carray[0];

Ich denke, ein binäres ODER wäre hier von der Logik her passender als 
ein plus.

von kopfweh (Gast)


Lesenswert?

Ahhh. OK :) So einfach wär gegangen.

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
Noch kein Account? Hier anmelden.