Theorie
 
 
 
 
 
Computertechnik

 
 
 
 

Zahlen beschreiben elektrische Signale

 
 

.. Logische Operationen mit Bits und Variablen

 
 

 
 
 
 
 
Die vier logischen Operationen, welche jede Programmiersprache kennt, sind die Invertierung, die UND, die ODER sowie die exklusive ODER-Verknüpfung. Letztere wird auch als Antivalenz bezeichnet. Im englischen Sprachgebrauch spricht man von NOT AND, OR, und XOR.
Diese vier Verknüpfungen können bei Hochsprachen auf ganze Speicherzelleninhalte (Variable) angewendet werden, oder auf einzelne Bits innerhalb einer Speicherzelle. Bei der Assemblermnemonik beziehen sie sich ausschliesslich auf die Bits einer Speicherzelle.

 

 
 
 

Definitionen der Verknüpfungen
Bei der Invertierung wir jede log0 zu einer log1 und umgekehrt jede log1 zu einer log0.
Die Verknüpfung durch die drei logischen Operationen UND, ODER und exklusives ODER geschehen nach den, aus der Digitaltechnik her bekannten Wahrheitstabellen.

          


 
 
 

Beispiel UND:
Sagt die Mutter 'Gerd geht einkaufen UND Erna putzt die Fenster' so kann Sie in einer Tabelle feststellen, ob ihre Anweisung befolgt wurde. In die Tabelle schreibt sie eine 0, wenn E1 = Gerd nicht einkaufen geht und eine 1, wenn er dies tut. In gleicher Weise verfährt sie mit E2 =Erna .. 0, diese putzt die Fenster nicht, 1 sie putzt die Fenster.
Stellt die Mutter fest, dass in ihrer Tabelle unter E1 und ebenfalls unter E2 eine 0 steht, kann sie feststellen, dass ihre Anweisung nicht vollständig durchgeführt wird und Sie vermerkt dies in der Spalte AND mit einer 0. Steht in der Tabelle unter E1 und E2 tatsächlich jeweils eine 1, so ist Gerd beim Einkaufen und Erna putzt die Fenster die Anweisung wurde also vollständig durchgeführt und in der AND-Spalte wird dies mit einer 1 quittiert.


 
 

 


Beispiel XOR:
Heute sagt die Mutter 'Gerd kocht Mittagessen ODER Erna kocht Mittagessen'. In diesem Fall ist Mutter gleichermassen begeistert, wenn sie Gerd beim Kochen antrifft (1) oder aber Erna (1). Sie geht nicht davon aus, dass beide vor dem Herd stehen, denn für den jeweils anderen hat sie möglicherweise eine weitere Aufgabe. Dieser sprachliche Gebrauch der Wortes ODER trifft sich mit der logischen exklusiv ODER Verknüpfung. Hier ist anders als beim mathematisch, logischen ODER die Bedingung bereits erfüllt wenn nur einer die Bedingung erfüllt. Stellt sich heraus, dass Gerd kocht (1) und Erna ebenso (1), so gilt diese Bedingung als nicht erfüllt (0).


 
 

 


Logische Verknüpfungen auf Bits
Bits können nur die Werte 0 oder 1 annehmen. Werden also zwei Bits E1 und E2 miteinander durch UND, ODER oder das exklusive ODER verbunden, so ist das Ergebnis genau das, welches in den obigen Wahrheitstabellen rot markiert, unter der jeweiligen Verknüpfung angegeben ist.


 
 

 


Logische Verknüpfungen auf Variable
Variable bestehen aus mehreren Bits. So besteht beispielsweise die Zahl in einem Byte aus 8 Bits und kann Werte zwischen 0 und 255 annehmen. Hier erscheint es unsinnig mit den Verknüpfungen UND, ODER und dem exklusiven ODER arbeiten zu wollen. Was soll bei der Verknüpfung von 115 ODER 232 herauskommen? Die Wahrheitstabellen der Verknüpfungen lassen nur 0 und 1 zu.
Dennoch gibt es sie, die logischen Verknüpfungen auf Variable. In jeder bedingten Sprunganweisung der Hochsprachen kommen sie vor. So beispielsweise in .. while ( x && y) {} oder while (1); der unendlichen Schleife.

Bei der logischen Verknüpfung von Variablen werden zunächst die Inhalte der Speicherzellen auf 0 oder ungleich 0 untersucht. Enthält die zur Rede stehende Speicherzelle den Zahlenwert 0, so wird ihr der Wahrheitswert log0 zugeordnet. Besitzt die Speicherzelle einen Zahlenwert der nicht Null ist, so wird ihr unabhängig von der enthaltenen Zahl, der Wahrheitswert log1 zugeordnet. Nun erst findet die logische Verknüpfung statt. Der Ausdruck 115 ODER 232 wird also zu 1 ODER 1 und ergibt demnach als Ergebnis den Wahrheitswert 1. Dagegen würde 115 XOR 232 zu 1 XOR 1 ausgewertet werden und den Wahrheitswert 0 ergeben. Bei 115 UND 0 käme 1 UND 0 = 0 heraus.





www..de