www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bitoperation Formel umstellen


Autor: fliege (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
in einer Bitoperation setze ich die beiden Bytes d1 und d2 zu x 
zusammen:

x = d2 << 8 | d1

34 << 8 | 12 = 1234 (alles hex)

Wie stellt man die obere Formel um? Ich habe z.B. 0xfffffffff1234 und 
möchte erstmal die letzten 4 Ziffern isolieren (0x1234) und in d1 und d2 
aufteilen.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
d1 = x & 0xFF;
d2 = ( x >> 8 ) & 0xFF;

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag: Wenn d1 und d2 ohnehin nur 1 Byte groß sind (z.B. uint8_t),
dann geht es auch einfacher:
d1 = x;
d2 = x >> 8;

Autor: fliege (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, funktioniert alles. :-)

Ich habe die zuerst genannten Formeln benutzt. Kannst Du vielleicht noch 
kurz erklären, was genau die Verundung von x mit 0xff macht?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Öh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sollte es nicht so sein?

34 << 8 | 12 = 3412

bzw.

12 << 8 | 34 = 1234

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sicher, aber war eh nur ein Beispiel; was solls!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.