Výroková pracuje s hodnotami pravda a nepravda. V elektrických obvodech jsme tyto hodnoty vyjadřovali jako "high" a "low". Zde v zápiscích budeme zapisovat pravdu jako 1 a nepravdu jako 0.
Většina zde zmíněných operací (kromě NOT) má dva vstupy. Můžete si všimnout, že výsledek operace se obvykle nemění, když vstupy mezi sebou prohodíme. Jediná ze zde zmíněných operací, která se tomu vymyká, je implikace.
Operaci AND známe z logiky jako konjunkci, čili "a zároveň". Ve středoškolské logice se používá značka ∧, jinde též &.
první vstup |
druhý vstup |
výstup |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Operaci OR známe z logiky jako disjunkci. Lidsky ji popisujeme jako "jedno nebo druhé anebo obojí". Ve středoškolské logice se používá značka ∨, v počítačích spíše |.
první vstup |
druhý vstup |
výstup |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
Operaci NOT známe z logiky jako negaci. Ve středoškolské logice se používá značka ¬, v počítačích se často značí vykřičníkem !, což může kdekoho mást.
vstup |
výstup |
---|---|
0 | 1 |
1 | 0 |
Zkratka NAND znamená NOT AND. Někdy se značí šipkou nahoru ↑, ale pro srozumitelnost ji budeme radši psát celým jménem. Dává opačné hodnoty než AND, čili dává nulu pouze v případě, že dostane na obou vstupech jedničku.
první vstup |
druhý vstup |
výstup |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Zkratka XOR znamená Exclusive OR, česky "výlučné nebo". Někdy se značí jako disjunkce s podtržením ⊻ nebo plusem v kroužku ⊕, ale není v tom jednoznačná domluva. Chová se obdobně jako matematické "nerovná se": dává jedničku v případě, že jeden vstup je jednička a jeden nula.
první vstup |
druhý vstup |
výstup |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Implikace patří mezi základní operace výrokové logiky a značí se šipkou doprava ⇒, ale v elektronice a programování se nepoužívá. Česky se vyjadřuje vztahem "pokud, tak". Zpočátku je snad trochu matoucí, že pokud levá strana neplatí, tak implikace platí vždycky – ale s tím už jsme se museli smířit v rámci hodin matematiky.
Narozdíl od ostatních zde zmíněných operací, v případě implikace nemůžeme jen tak prohodit levou a pravou stranu.
první vstup |
druhý vstup |
výstup |
---|---|---|
0 | 0 | 1 |
0 | 1 | 1 |
1 | 0 | 0 |
1 | 1 | 1 |
Jak je vidět, každou operaci můžeme zapisovat slovem anebo nějakým obrázkem. Ve škole dáváme přednost zápisu slovem, protože se snad líp pamatuje.
Co se týče zápisu celé operace i s proměnnými, nabízejí se dvě možnosti: můžeme operátor napsat před proměnné, anebo mezi ně. Na ukázku:
AND(x, y) = x AND y = x ∧ y.
Mezi všemi variantami tady můžeme napsat "rovná se", protože jsou to vážně jenom různé způsoby zápisu stejné věci. Kolem výrazů můžeme samozřejmě podle potřeby napsat závorky, když to prospívá čitelnosti.
Vhodným výrazem z operací NAND můžeme zapsat všechny ostatní tady zmíněné operace. Možností je vždycky víc, tady v seznamu ale bude jen ta nejstručnější.
Pro lepší porozumění operacím NAND, XOR a implikace může pomoct, když si je rozepíšeme pomocí operací AND, OR a NOT.
Zvědavý čtenář si může všimnout, že všechny operace můžeme zapsat také pomocí implikace, například (x NAND y) = (x ⇒ (y ⇒ 0)). To nám ale k ničemu užitečné nebude.