Logo

www.hundert-prozent.net - Tutorials---Informatik-XOR aus AND und OR

XOR aus AND und OR

Eine Wertetabelle für XOR, AND, OR und NOT findest du hier: Informatik - Boolesche Algebra


NXOR ist die Negation für XOR. Wenn man NXOR negiert, erhält man XOR(siehe Doppelnegationsgesetz).
NXOR trifft immer zu, wenn a und b und a oder b oder nicht a oder nicht b und nicht a und nicht b.
Als Term: a∧b∧(a∨b)∨(¬a∨¬b)∧¬a∧¬b
Da wir XOR erhalten wollen negieren wir diesen Term: ¬(a∧b∧(a∨b)∨(¬a∨¬b)∧¬a∧¬b)
Gekürzt werde dieser: ¬(a∧b∨¬a∧¬b)
Wir haben ∧(a∨b) weggenommen, da wenn die Bedingung a∧b erfüllt ist auch immer die Bedingung a∨b erfüllt ist.
Und wir haben (¬a∨¬b) weggenommen, da wenn die Bedingung ¬a∧¬b erfüllt ist auch immer die Bedingung ¬a∨¬b erfüllt ist.
Als nächtes wenden wir das De Morgansche Gesetze an: ¬(a∧b)∧¬(¬a∧¬b)
Es gilt nach dem De Morgansche Gesetze:
¬(x∨y)=¬x∧¬y
In unserem Fall ist x = a∧b und y = ¬a∧¬b. Dies umgeformt und eingesetzt ergibt dann unser Vorzeitiges Ergebnis.


Wir beschäftigen uns ermal mit dem Teil, welcher nach dem AND-Operator ist: ¬(¬a∧¬b)
Bei diesem können wir wieder da De Morgansche Gesetz anwenden.
Esm gilt auch nach dem De Morganschen  Gesetz:
¬(x∧y) = ¬x∨¬y
Bei uns ist x = ¬a und y = ¬b.
Setzt wir dies für x und y ein ergibt dies: (¬a∨¬b)∧(¬¬a∨¬¬b)
Nach dem Doppelnegationsgesetz gilt: ¬(¬a)=a
Wenden wir dies an, ergibt es: (¬a∨¬b)∧(a∨b)


Kleiner Hinwies am Rande: Die Klammern sind notwendig, da die Operaroren nach einer bestimmen Reihenfolge aufgelöst werden.
Der NOT-Operator hat die höchste Priorität, danach der AND-Operator und zum schluss der OR-OPERATOR.
Der XOR bzw. NXOR-Operator hat die gleiche Priorität wie der AND-Operator.


Aus unserem End-Ergebnis lässt sich der Term für NXOR herleiten: ¬((¬a∨¬b)∧(a∨b))
Auf diesem Term wenden wir das De Morgansche Gesetz an: ¬¬a∧¬¬b∨¬a∧¬b
Dann wenden wir das Doppelnegationsgesetz an: a∧b∨¬a∧¬b


Beide Terme können wir so umformen, dass sie nur aus AND und NOT Operationen bestehen.
Es gilt: a∨b = ¬(¬a∧¬b)


Unser Ergebnis ist:
XOR = (¬a∨¬b)∧(a∨b)  (Die Klammern sind wegen der Rangfolge wichtig)
XOR(nur AND und NOT Operatoren) = ¬(a∧b)∧¬(¬a∧¬b)  (Die Klammern sind wegen der Rangfolge wichtig)
NXOR = a∧b∨¬a∧¬b
NXOR(nur AND und NOT Operatoren) = ¬(¬(a∧b)∧¬(¬a∧¬b))  (Die Klammern sind wegen der Rangfolge wichtig)