~ Einerkomplement ~x & bitweise Konjunktion (UND) x & 036 ^ bitweise Antivalenz (exklusives ODER) x ^ 0100 | bitweise Disjunktion (inklusives ODER) x | y >> bitweise Rechtsverschiebung x >> 2 << bitweise Linksverschiebung y << 1
Die Operanden logischer Operatoren werden bitweise verknüpft nach folgender Regel:
Bedingungen für Operanden:
x y x & y x | y x ^ y 0 0
0 1
1 0
1 10
0
0
10
1
1
10
1
1
0
VERBATIM/b212: x : 0101 0001 y: 0011 1001 x << 4 ==> 0001 0000 x & y ==> 0001 0001 x >> 4 ==> 0000 0101 x | y ==> 0111 1001 ~ x ==> 1010 1110 x ^ y ==> 0110 1000
BEISPIELE/b212a.c: #include <stdio.h> int wordlen() { int i; unsigned wort; i = wort = 0; wort = ~wort; /* alle Bits 1 */ while (wort != 0) { wort = wort >> 1; i++; } return(i); } main() /* Zaehlen der Bits eines Maschinenewortes */ { printf("Anzahl der Bits: %d\n",wordlen()); }