Wann geht die Tür im Spiel auf?
In einem Abenteuerspiel öffnet sich eine Tür nur, wenn du den Schlüssel hast und auf den Schalter trittst. Ein Zauberspruch öffnet sie immer.
So eine Regel besteht aus winzigen Bausteinen, die je ein Ja oder ein Nein nehmen. Der Prozessor der Konsole besteht aus Milliarden davon.
Am Ende dieser Lektion
Notiz
Ich kann die Ausgabe einer logischen Schaltung bestimmen.
Schlüsselwörter
| Begriff | Was er bedeutet | Beispiel |
|---|---|---|
| Logikgatter | ein winziger Baustein, der aus Eingangsbits ein Ausgangsbit macht | |
| Eingang | ein Bit, das in ein Gatter hineingeht | |
| Ausgang | das Bit, das ein Gatter zurückgibt | |
| Wahrheitstabelle | eine Tabelle mit allen Eingängen und ihrem Ausgang | |
| Boolescher Ausdruck | eine Schaltung, mit AND, OR und NOT geschrieben | A AND B |
| Halbaddierer | eine Schaltung, die zwei Bits addiert |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Drei grundlegende Gatter
Eine 1 heißt ja oder an. Eine 0 heißt nein oder aus.
Ein AND-Gatter gibt nur dann 1, wenn beide Eingänge 1 sind. Ein OR-Gatter gibt 1, wenn mindestens ein Eingang 1 ist. Ein NOT-Gatter hat einen Eingang und dreht ihn um. NAND ist AND mit einem NOT dahinter, NOR ist OR mit einem NOT dahinter.
Wahrheitstabelle für AND und OR
| A | B | A AND B | A OR B |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 1 | 1 | 1 |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Bevor du anfängst
Notiz
Drück oben in der Leiste auf Lab starten und warte, bis die Maschine läuft. Jede Schaltfläche Ausführen tippt ihren Befehl in das Terminal, einen nach dem anderen.
Python und die Shell haben Gatter
In Python und in der Shell ist & AND, | ist OR und ^ ist XOR. XOR gibt 1, wenn die beiden Eingänge verschieden sind.
Bekommt so ein Zeichen zwei ganze Zahlen, wendet es sein Gatter auf jedes Paar von Bits an, Stelle für Stelle.
OR für jedes Paar von Bits
python3 -c "print(0 | 0, 0 | 1, 1 | 0, 1 | 1)"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Drei Gatter auf 9 und 5
echo $(( 9 & 5 )) $(( 9 | 5 )) $(( 9 ^ 5 ))Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Beispiel: Gatter auf 9 und 5
| Bits | Dezimal | |
|---|---|---|
| 9 | 1001 | 9 |
| 5 | 0101 | 5 |
| 9 AND 5 | 0001 | 1 |
| 9 OR 5 | 1101 | 13 |
| 9 XOR 5 | 1100 | 12 |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Eine Schaltung als Ausdruck lesen
Gatter lassen sich verbinden: Der Ausgang des einen ist der Eingang des nächsten. Wir schreiben die Schaltung als booleschen Ausdruck: Q = (A OR B) AND (NOT C).
Rechne ihn aus wie eine Rechnung. Zuerst die Klammern, dann das Gatter, das sie verbindet. Drei Eingänge ergeben acht Zeilen in der Wahrheitstabelle.
Beispiel: ihre Wahrheitstabelle
| A | B | C | A OR B | NOT C | Q |
|---|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 1 | 0 |
| 0 | 0 | 1 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 | 1 |
| 0 | 1 | 1 | 1 | 0 | 0 |
| 1 | 0 | 0 | 1 | 1 | 1 |
| 1 | 0 | 1 | 1 | 0 | 0 |
| 1 | 1 | 0 | 1 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 | 0 |
Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.
Zwei Gatter addieren zwei Bits
Binär ist 1 + 1 gleich 10: Schreib 0 und merk dir 1 als Übertrag. Ein Halbaddierer schafft das mit zwei Gattern.
Das Summenbit ist A XOR B. Das Übertragsbit ist A AND B. Ketten solcher Addierer addieren im Prozessor ganze Zahlen.
Summe und Übertrag von 1 + 0
python3 -c "print(1 ^ 0, 1 & 0)"Hier angezeigt, nicht ausgeführt. Erstellen Sie ein kostenloses Konto, um „Ausführen“ zu drücken und ihn im Terminal Ihres eigenen Labs einzugeben.
Ein häufiger Fehler
Warnung
Viele denken, OR heißt „entweder das eine oder das andere, aber nicht beides“. In der Logik gibt OR auch dann 1, wenn beide Eingänge 1 sind. Das Gatter für „eins von beiden, aber nicht beide“ ist XOR.
Weiterführend: drei Bits addieren
Ein Halbaddierer addiert zwei Bits. Für lange Zahlen muss jede Stelle auch den Übertrag von rechts mitzählen. Dafür gibt es den Volladdierer, gebaut aus zwei Halbaddierern und einem OR-Gatter.
Bestimme von Hand Summenbit und Übertragsbit von 1 + 1 + 1. Dann von 0 + 1 + 1.