42 lines
1.1 KiB
Markdown
42 lines
1.1 KiB
Markdown
|
# 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.
|