Inhaltsverzeichnis

Bitweise Operatoren

Aufbauend auf den logischen Verknüpfungsoperatoren können binäre Zahlen bitweise miteinander verknüpft werden. Diese Seite fasst in Kürze zusammen, wie dies für die Operatoren AND, OR, NOT und XOR funktioniert. Eine ausführlichere Erklärung gibt es auf der Wikipedia-Seite Bitweiser Operator.

Funktionsweise

Bei den logischen Verknüpfungen AND und OR werden zwei einzelne Wahrheitswerte verknüpft.

Mit Hilfe von bitweisen Operatoren lassen sich ganze Bitfolgen miteinander verknüpfen. Basis dafür ist wieder eine Wahrheitstabelle.

Bitweise AND-Verknüpfung

Bei der Bitweisen AND-Verknüpfung werden zwei binäre Zeichenfolgen gleicher Länge miteinander verknüpft. Bei Bedarf wird die kürzere der beiden mit führenden Nullen aufgefüllt. Hier ein Beispiel zur Erklärung. Die Wahrheitstabelle rechts dient als Gedächtnisstütze

Es sollen die beiden Binärzahlen 1011 1100 und 1001 0110 mittels AND verknüpft werden.

                              Wahrheitstabelle für AND
          1011 1100                   1  1 | 1
     AND  1001 0110                   1  0 | 0
     --------------                   0  1 | 0
          1001 0100                   0  0 | 0

In diesem Beispiel wurden jeweils die zwei gleichwertigen Stellen der beiden zu verknüpfenden Zahlen anhand der nebenstehenden Wahrheitstabelle verknüpft und das Ergebnis bitweise daruntergeschrieben. Schrittweise bedeutet das:

Bitweise OR-Verknüpfung

Auch beim bitweisen OR werden zwei binäre Zeichenfolgen miteinander verknüpft. Bei Bedarf wird ebenso die Länge durch führende Nullen angepasst.

Als Beispiel nehmen wir die gleichen Zahlen wie vorhin, verändern aber die Operation zu OR:

                              Wahrheitstabelle für OR
          1011 1100                   1  1 | 1
      OR  1001 0110                   1  0 | 1
      -------------                   0  1 | 1
          1011 1110                   0  0 | 0

Wie man sieht, steht jetzt an jeder Ergebnisstelle eine 1, bei der entweder in der ersten oder in der zweiten Zahl eine 1 stand.

Bitweise NOT-Verknüpfung

Beim bitweisen NOT wird ebenso wie bei dem logischen Operator nur ein Eingabewert benötigt. Wir nehmen deshalb für das Beispiel die erste der beiden oben gezeigten Zahlen:

                              Wahrheitstabelle für NOT
     NOT  1011 1100                   1 | 0
     --------------                   0 | 1
          0100 0011

Bei der bitweisen NOT-Operation wird einfach nur jedes Bit des Ausgangswertes umgekehrt.

Bitweise XOR-Verknüpfung

Eine besondere Rolle nimmt die bitweise XOR-Verknüpfung ein. Sie funktioniert ganz ähnlich wie die OR-Verknüpfung. Der Unterschied dabei ist, dass 2 wahre Werte nicht mehr ein wahres Ergebnis liefern. Das Wort oder ist also als exklusives oder (exclusive or) zu verstehen. Nur der eine Teil oder der andere dürfen wahr sein aber nicht beide.

Wiederholen wir das OR-Beispiel von oben mit XOR:

                              Wahrheitstabelle für XOR
          1011 1100                   1  1 | 0
      OR  1001 0110                   1  0 | 1
      -------------                   0  1 | 1
          0010 1010                   0  0 | 0

Wir sehen, dass im Ergebnis dort wo zwei Einsen oder 2 Nullen aufeinandertreffen eine Null steht und nur dort wo zwei unterschiedliche Ziffern zusammenkommen eine Eins herauskommt.


Besondere Bedeutung von XOR

Die XOR-Verknüpfung spielt in der Verschlüsselung eine zentrale Rolle. Dies liegt an der nachfolgend demonstrierten Eigenschaft. Für das Beispiel nehmen wir die Bitfolgen

         1011 0101 1111 0011      A
    XOR  1010 0110 0010 1000      B
    ------------------------
         0001 0011 1101 1011  --> C
 
 
 
         1011 0101 1111 0011      A
    XOR  0001 0011 1101 1011      C
    ------------------------
         1010 0110 0010 1000  --> B
 
 
 
         1010 0110 0010 1000      B
    XOR  0001 0011 1101 1011      C
    ------------------------
         1011 0101 1111 0011  --> A
 

Dieses Beispiel zeigt, dass eine bitweise XOR-Verknüpfung

Sobald also zwei dieser Zahlen bekannt sind, lässt sich die dritte daraus berechnen.


Exkurs zur Verschlüsselung

Betrachtet man A als eine Nachricht, die geheim gehalten werden soll und B als den Schlüssel, mit dem sie vom Absender zu diesem Zweck verschlüsselt wird, dann ist C die verschlüsselte Nachricht, die gefahrlos verschickt werden kann.

Besitzt der Empfänger auch den Schlüssel B und erhält die verschlüsselte Nachricht C, dann kann er daraus den Klartext A berechnen.