aus zwei 8bit zahlen einen 16bit zahl machen

OP #3172256
Hallo liebes Forum,

ich hab da mal eine Frage, und zwar.

Man kann ja aus einer 16bit zahl zwei 8bit zahlen machen.
z.B. so :
1
short _data = 0x1234;
2
    
3
unsigned char dataH = (unsigned char) (_data >> 8 & 0x00FF);
4
// jetzt steht in dataH 0x12
5
unsigned char dataL = (unsigned char) (_data  & 0x00FF);
6
// jetzt stecht in dataL 0x34

Aber wie kann ich jetzt aus zwei 8bit zahlen eine 16bit zahl machen.
z.B.:

1
char dataH = 0x12;
2
char dataL = 0x34;
3
  
4
short _data = dataH & dataL


also das in _data nach der Operation 0x1234 steht ?


Danke schon mal :)
Gast #3172308
Und ewig grüsst das Murmeltier. Kann man die Frage nebst Antwort nicht 
mal in die FAQ aufnehmen? Die kommt ja nun mindestens einmal jede 
Woche...

Oliver
Moderator #3172313
be stucki schrieb:
> Oder mit einem +.

Ja, das ist in diesem Fall das Gleiche.

> Natürlich muss _data vorher den Wert Null zugewiesen werden (egal ob
> mit | oder +).

Nein, warum? Der Wert wird doch durch die obige Anweisung überschrieben.
Da spielt es keine Rolle, welchen Wert _data vorher hatte.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.