![]() Vorherige Seite |
![]() Eine Ebene hoch |
![]() Nächste Seite |
---|
Werden zwei Bits mit der UND-, ODER- oder der Exklusiv-ODER-Operation verknüpft, so ergeben sich folgende Ergebnisse:
Bit 1 | Bit 2 | UND: & | ODER: | | Exklusiv-ODER: ^ | |
---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | |
0 | 1 | 0 | 1 | 1 | |
1 | 0 | 0 | 1 | 1 | |
1 | 1 | 1 | 1 | 0 |
Mit der UND-Verknüpfung können gezielt Bits auf null gesetzt werden. Mit der ODER-Verknüpfung können gezielt Bits auf eins gesetzt werden.
Beispiel: Ist c
vom Typ char
, so werden bei der Zuweisung
c = c&0x0f;
die ersten vier der acht Bits von c
auf null gesetzt. Die hinteren vier Bits bleiben unverändert.
Beispiel: Ist c
vom Typ char
, so werden bei der Zuweisung
c = c|0xf0;
die ersten vier Bits auf eins gesetzt. Die anderen Bits bleiben unverändert.
Mit der Exklusiv-ODER-Verknüpfung können gezielt die unterschiedlichen Bits ermittelt werden. Beispiel: Der Ausdruck
0x1a^0x2a /* dual: 00011010^00101010 */
hat als Ergebnis 0x20 (dual: 00110000), da sich nur die dritten und vierten Bits von links unterscheiden.