Bitoperationen Frage
-
Hey,
angenommen ich habe ein Byte das so aussieht:
A:
01 000100
und ein anderes Byte:
B:
00 111010
Jetzt sollen die ersten 6 Bits (rechts ist das niedrigstwertigste) von Byte A die ersten 6 Bit von Byte B "ersetzen".
Mir sind die verschiedenen Bitoperationen bekannt, ich komme hier aber nicht wirklich weiter. Ich kann die ja nicht wirklich verunden/verodern, da je nachdem ein Bit gesetzt oder "ungesetzt" werden soll.
Meine Idee war bisher bei jedem Bit von B zu prüfen ob es 1 oder 0 ist und dann eine passende und/oder Operation auszuführen. Das ist natürlich ziemlich umständlich, geht das auch einfacher?
-
b = (b & 11 000000) | (a & 00 111111);
-
Belli schrieb:
b = (b & 11 000000) | (a & 00 111111);
b = (b & 0xC0) | (a & 0x3F);
Falls es auch kompilieren soll.