Что такое штрих Шеффера и стрелка Пирса? Зачем нужны эти странные операции?
Наткнулся на операции «штрих Шеффера» (И-НЕ) и «стрелка Пирса» (ИЛИ-НЕ). Выглядят как какие-то экзотические, в школе про них почти не говорят. Что они означают и зачем вообще придумали отдельные операции для «И с отрицанием»?
2 ответа
Это две операции «с отрицанием на выходе»:
- Штрих Шеффера (И-НЕ, NAND): A | B = ¬(A ∧ B). Сначала И, потом всё отрицаем. Ложно только когда оба истинны.
- Стрелка Пирса (ИЛИ-НЕ, NOR): A ↓ B = ¬(A ∨ B). Сначала ИЛИ, потом отрицаем. Истинно только когда оба ложны.
Таблица NAND:
| A | B | A NAND B |
|---|---|---|
| 0 | 0 | 1 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Зачем они нужны? Главная фишка: каждая из них самодостаточна — через один только NAND (или один только NOR) можно выразить И, ИЛИ, НЕ, а значит вообще любую логическую функцию. Это называют «функционально полный базис».
Именно поэтому в железе (микросхемах) часто строят всё из NAND-вентилей: один тип элемента, а собрать можно любую схему. Дёшево и технологично. Так что это не «экзотика для красоты», а основа того, как устроены реальные процессоры.
Маленький пример самодостаточности: НЕ через штрих Шеффера — это A | A = ¬(A ∧ A) = ¬A. То есть «И-НЕ» с самим собой даёт отрицание. От него уже можно строить всё остальное. Прикольно, что вся цифровая электроника по сути держится на этом факте.