Forum: Compiler & IDEs Bits kopieren


von Florian (Gast)


Lesenswert?

Hallo,

ich habe folgendes Problem:
Ich habe eine Variable x und eine Variable y. Nun möchte ich beide so
verknüpfen, dass ich eine Kombination aus beiden erhalte.
Genauer gesagt sollen die letzten 2 Bits aus x die letzten 2 Bits aus y
ersetzen.

Bsp: X= xxxxxx10, Y=yyyyyyyy => yyyyyy10

Kann mir jemand sagen mit welchen Bitoperationen ich da weiterkomme?

MfG
Florian

von Dirk B (Gast)


Lesenswert?

Z = X & 0xFC; // in Z stehen nur Bit 0 und 1 von X
Y = Y & 0xFC; // in Y Bit 0 und 1 löschen
Y = Y | Z;    // Z mit Y verodern

Gruss
Dirk

von Alex (Gast)


Lesenswert?

Y = X | (Y&0xFC)

von Dirk B (Gast)


Lesenswert?

Ups, bei mir sollte die 1. Zeile so aussehn:

Z = X & 0x03;

von Florian (Gast)


Lesenswert?

Vielen Dank für die schnelle Hilfe.

Gruß
Florian

von Malte Marwedel (Gast)


Lesenswert?

Müsste die Methode von Alex nicht
Y = (X & 0x03)|(Y&0xFC);
heißen? Das würde dann auch genau Dirks drei Zeilen zu einer
zusammengesetzt ergeben. Sonste würden doch alle high Bits aus X
übernommen werden.

von Alex (Gast)


Lesenswert?

Hast recht, Malte.

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.