# Gatter Gatter sind Hardware (Transistoren), welche binäre Daten verarbeiten können. (Binäre: 0en und 1en) Diese werden üblicherweise als Boxen dargestellt. ## Rechenoperationen ### `AND` ```mermaid graph LR; a["A"]; b["B"]; out["C"]; and["&"]; a --- and; b --- and; and --- out; ``` Ein `AND` (einige, verschiedene Notationen sind `AND`, `&` und $\wedge$) setzt voraus, dass die Eingabe-Werte (hier `A` und `B`) beide den Wert `true` beinhalten. ### NAND ```mermaid graph LR; a["A"]; b["B"]; out["C"]; and["&"]; not((" ")); a --- and; b --- and; and --- not --- out; ``` Ein `NAND` (kurz für "not and") ist die invertierte Version der [`AND`-Operation](#and). Dieser setzt voraus, dass eine der Eingabe-Werte (hier `A` und `B`) **nicht** `true` entsprechen. Ein `NAND` lässt sich folgendermassen umformen: $$C = \overline{A \wedge B}$$ $$C = \overline{A} \vee \overline{B}$$ ## Vereinfachung Für die Hardwaretechnik ist es jeweils effizienter, dieselben Operationen für alle Gatter zu verwenden. Dies ist bei einer Vereinfachung zu berücksichtigen.