Hallo Miteinander, ich stehe auf dem schlauch und komme nicht weiter. Die Lösung muß einfach sein. Vielleicht kann mich jemand auf die richtige Lösung bringen: aus einem array char serialIn mit den Werten: serialIn[0]=0x12; serialIN[1]=0x34; soll myInt mit dem Wert ox1234 werden: Die Lösung myInt=serialIn[0]; myInt<<8; myInt|=serialIn[1]; ergibt 0xff34; Wie geht man es richtig an? Einfachere Lösungen werden gerne bevorzugt. Danke und SChönen Abend
:
Verschoben durch Moderator
Matt Matt schrieb: > char serialIn mit den Werten: dann versuch es mal mit einem unsigned char array
Das Problem tritt dann später ein. Zu später Sekunde muss aus char[] long werden. :-) Außerdem würde ich es gerne grundsetzlich verstehen. Danke & schönen Abend
Matt Matt schrieb: > Zu später Sekunde muss aus char[] > long werden. :-) ein char ist oft signed. Und wenn du rechnest kommt halt nichts sinnvolles raus.
Matt Matt schrieb: > myInt<<8; Dieses Statement hat keinen Effekt. Du meinst wohl:
1 | myInt <<= 8; |
Ansonsten:
1 | myInt = (serialIn[0]<<8) + serialIn[1]; |
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.