Bramki logiczne i tabele prawdy: AND, OR, NOT, XOR
Bramka logiczna zamienia sygnały wejściowe na jeden sygnał wyjściowy według stałej reguły. Trzy bramki są podstawowe, a reszta powstaje z ich złożeń. AND daje jedynkę tylko wtedy, gdy oba wejścia są jedynkami. OR daje jedynkę, gdy jedynką jest przynajmniej jedno wejście. NOT ma jedno wejście i odwraca jego stan.
Bramki z literą N na początku to zanegowane wersje poprzednich: NAND to zaprzeczone AND, a NOR to zaprzeczone OR. XOR, czyli suma modulo dwa, daje jedynkę wtedy, gdy wejścia są różne, a XNOR wtedy, gdy są takie same. Tabela prawdy wypisuje wszystkie kombinacje wejść i wynik dla każdej z nich, więc dla dwóch wejść ma cztery wiersze, a dla trzech osiem.
Te same reguły obowiązują w kodzie. Operator koniunkcji odpowiada bramce AND, operator alternatywy bramce OR, a wykrzyknik bramce NOT, dlatego warunek złożony sprawdza się dokładnie tak samo jak układ bramek: jedna operacja naraz, od nawiasów w stronę całości. Przy złożonym wyrażeniu policz najpierw wartość każdego składnika osobno, zamiast próbować odgadnąć wynik całości.
Przykład: tabela prawdy bramki XOR
1
Dla wejść 0 i 0 wyjście wynosi 0, bo wejścia są takie same.
2
Dla wejść 0 i 1 wyjście wynosi 1, bo wejścia się różnią.
3
Dla wejść 1 i 0 wyjście również wynosi 1, z tego samego powodu.
4
Dla wejść 1 i 1 wyjście wraca do 0. Bramka XNOR ma w tych samych wierszach dokładnie odwrotne wyniki.
Najczęstsze pytania
?
Kiedy bramka XOR daje na wyjściu jedynkę?
Wtedy i tylko wtedy, gdy wejścia mają różne wartości. Przy dwóch takich samych wejściach, zerach albo jedynkach, na wyjściu pojawia się zero.
?
Czym różni się NAND od AND?
NAND to zanegowane AND, więc jego wyjście jest zawsze odwrotnością wyjścia AND. AND daje jedynkę tylko przy obu wejściach równych jeden, a NAND daje w tym jednym przypadku zero, a w pozostałych jedynkę.
?
Ile wierszy ma tabela prawdy?
Tyle, ile jest kombinacji wejść, czyli dwa do potęgi równej liczbie wejść. Dwa wejścia dają cztery wiersze, trzy wejścia osiem, a cztery wejścia szesnaście.
?
Jak bramki logiczne mają się do warunków w kodzie?
Operator koniunkcji działa jak AND, operator alternatywy jak OR, a negacja jak NOT. Tabela prawdy bramki jest więc jednocześnie tabelą wyników warunku złożonego w PHP czy JavaScripcie.
?
Jak rozpoznać bramkę logiczną po symbolu?
W symbolach amerykańskich, których używają arkusze egzaminacyjne, bramka AND ma płaski tył i okrągły przód, bramka OR ma wklęsły tył i spiczasty przód, a XOR wygląda jak OR z dodatkowym łukiem z tyłu. Małe kółko przy wyjściu oznacza zaprzeczenie wyniku, czyli bramki NAND, NOR i XNOR oraz samą negację NOT.
Gdzie ćwiczyć dalej
lekcje kursu o tym zagadnieniu
narzędzia z tej samej rodziny