Forum: Mikrocontroller und Digitale Elektronik Bit-Manipulation


von kalkbrenner (Gast)


Lesenswert?

Hallihallo!

Ich habe einen 16-Bit breiten Datensatz und würde gerne Bit14 - Bit7 
manipulieren mit einem Ergebnis aus einer anderen Rechnung.

Beispiel:

16Bit-Variable

0000 0000 0000 0000

Ergebnis: 149

1001 0101

zusammengefügt soll dann rauskommen:

0100 1010 1000 0000


Wie ist die Syntax in C dazu? Könnt ihr mir helfen?
Ich muss ja irgendwie (VARIABLE & 0x7F80 & ERGEBNIS) miteinander 
verknüpfen.


Danke schonmal

von MaWin (Gast)


Lesenswert?

(VARIABLE & 0x807F) | (ERGEBNIS<<7)
vorausgesetzt Ergebnis ist ein 16 bit Wert.

von kalkbrenner (Gast)


Lesenswert?

SUPER! Vielen Dank!

von Andreas F. (aferber)


Lesenswert?

MaWin schrieb:
> (VARIABLE & 0x807F) | (ERGEBNIS<<7)

Etwas lesbarer:

(VARIABLE & ~(0xff<<7)) | (ERGEBNIS<<7)

Andreas

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.