Поиск по сайту:

Как работают логические вентили: ИЛИ, И, исключающее ИЛИ, ИЛИ, И-НЕ, исключающее ИЛИ и НЕ


Логические ворота: классный термин, но что он означает? В этой статье будет представлена концепция логического вентиля, а также описано, как работает каждый конкретный логический вентиль (ИЛИ, И, исключающее ИЛИ, ИЛИ, НЕ-И, исключающее ИЛИ и НЕ).

Что такое логический вентиль?

Во-первых, важно понимать, что логические вентили могут принимать разные формы. Даже в нашей личной жизни мы постоянно обрабатываем информацию через различные логические элементы. Хотя наш разум оптимизирован для этого, мы часто не осознаем ход мыслительного процесса. Однако оно имеет место.

Например, при сдаче экзамена можно знать, что отсутствие ответа на вопрос приведет к отрицательному баллу по этому вопросу. Если вы все обдумали и поняли концепцию, ваш разум только что обработал ворота НЕ! Другими словами (псевдокод): ЕСЛИ НЕ {ответ на вопрос}, ТО существуют негативные последствия.

Такие логические элементы образуют строительные блоки для большей части мирового кода, а также для электроники. Хотя некоторые логические вентили встречаются гораздо чаще (например, вентили И или ИЛИ гораздо более распространены, чем И-НЕ или НЕ-ИЛИ). gate), все логические вентили рано или поздно используются для того, чтобы заставить компьютер или электронное устройство делать именно то, что от него требуется — обрабатывать данные определенным образом.

С помощью нескольких логических элементов мы можем создавать рабочие процессы, которые в некоторой степени напоминают или следуют человеческому мышлению. Давайте рассмотрим каждый из них подробно.

ИЛИ

Логический вентиль ИЛИ — это очень простой вентиль/конструкция, которая в основном говорит: «Яесли мой первый ввод верен, или мой второй ввод верен, или оба истинны, то и результат верен». Обратите внимание, что у нас есть два входа и один выход. Это относится не ко всем логическим элементам. Если вы посмотрите на изображение заголовка, вы увидите, что все логические элементы имеют два входа, за исключением логического элемента NOT, который имеет один вход. Все ворота имеют один выход.

Другими словами, мы можем написать логический элемент OR в этой блок-схеме:

0 + 0 => 0
0 + 1 => 1
1 + 0 => 1
1 + 1 => 1

Здесь 0 представляет false, а 1 представляет true. Как видите, наш вывод может быть false (т. е. 0) только в том случае, если оба ввода также были false. Во всех остальных случаях вывод нашего вентиля OR будет true.

Интересно, что если оба ввода равны true, вывод также будет true. Это немного отличается от того, что человек думает об ИЛИ, поскольку слово или часто ассоциируется с одним или другим.

И

Подобно нашему логическому элементу ИЛИ, логический элемент И будет обрабатывать два входа, приводя к одному выходу, но на этот раз мы ищем, чтобы оба входа были true, чтобы результат стал true. Другими словами, наша логика работает так:

0 + 0 => 0
0 + 1 => 0
1 + 0 => 0
1 + 1 => 1

Все остальные элементы (кроме элемента NOT) немного сложнее понять, но следите за обновлениями.

исключающее ИЛИ

Элемент XOR также иногда называют EOR или EXOR. Правильный жаргон для вентиля XORИсключающее ИЛИ. Если вы помните наш предыдущий пример, мы были немного удивлены тем, что true и true по-прежнему приводят к true, что несколько отличается от человеческого мышления.

Добро пожаловать в XOR (исключающее ИЛИ), которое решает эту проблему в соответствии со стандартным человеческим мышлением. Этот логический вентиль работает следующим образом:

0 + 0 => 0
0 + 1 => 1
1 + 0 => 1
1 + 1 => 0

Ввод и вывод такие же, как у нашего вентиля ИЛИ, но на этот раз ввод действительно должен быть эксклюзивным. Если ввод true и true, вывод false.

НИ

Помните наш предыдущий пример NOT? Мы изменили ситуацию. Это чем-то похоже на вентиль НЕ-ИЛИ, который в основном представляет собой вентиль НЕ-ИЛИ, где ИЛИ имеет ту же логику, что и мы обсуждали выше для ИЛИ ворота.

Другими словами, вы можете думать об этом так: «Aвсе, что не является ИЛИ-ситуацией (т. е. true и false смешанный или true и true аналогично нашему примеру с воротами OR, даже если это не совсем логично для человека) отображает true результат, а все остальные приводят к результату false.

Это приводит к следующей логике вентиля NOR:

0 + 0 => 1
0 + 1 => 0
1 + 0 => 0
1 + 1 => 0

Вооружившись этими знаниями, мы можем взглянуть на вентиль NAND:

И-НЕ

Аналогично NORNAND может быть прочитано как NOT-AND, и, таким образом, все, что обычно представляет собой AND, имеет быть ложным (т. е. НЕ-И). Это приводит к следующему результату:

0 + 0 => 1
0 + 1 => 1
1 + 0 => 1
1 + 1 => 0

Как и в каждом из первых трех случаев, полное AND (которое было бы true и true) отсутствует. Следовательно, результатом является true (1). Для последнего ввода, true и true, присутствует полное AND и, таким образом (из-за компонента NOT , N в NAND), результат будет ложным.

На этом изображении мы видим микросхему SN7400N с четырьмя логическими вентилями, а именно вентилями NAND. Таким образом, более высокое напряжение (состояние true/1) на контактах 1 и 2 (внизу слева) приведет к низкому напряжению (вероятно, 0 В) на контакте 3 при любое время. И если один из двух или обоих контактов (1 + 2) станет низковольтным, контакт 3 начнет обеспечивать более высокое напряжение.

ИСКЛЮЧАЮЩЕЕ ИЛИ

Вспоминая вентили OR, NOR и XOR, вентиль XNOR представляет собой комбинацию всех из них. . По сути, это вентиль Исключительное НЕ-ИЛИ или Исключающее ИЛИ-НЕ. Логика следующая:

0 + 0 => 1
0 + 1 => 0
1 + 0 => 0
1 + 1 => 1

Другими словами, это результат, противоположный XOR. Да, это может стать немного сложным для понимания.

НЕТ

Мы уже кратко представили ворота NOT ранее в нашем эквиваленте для человека. Ворота NOT в основном переворачивают любой входной сигнал. Если вы укажете true в качестве входных данных, на выходе будет false и наоборот. Наша логическая таблица проста:

0 => 1
1 => 0

Эти ворота часто используются в сочетании с другими воротами.

Логические элементы в компьютерном коде

Простой пример вентиля NOT можно увидеть в следующем коде Bash:

if [ ! true ]; then echo 'false'; else echo 'true'; fi

В этом примере мы обычно говорим: если не верно, то echo false, иначе echo true. Поскольку мы используем вентиль NOT, вывод будет истинным, даже если not true будет ложным.

Как вы можете видеть, код легко становится немного запутанным для чтения и разработки, когда вы используете вентили NOT, особенно при их сочетании с AND или OR ворота. Но практика делает совершенным, и опытные разработчики любят использовать сложные условные операторы шлюза.

Во многих языках программирования логический вентиль ИЛИ представлен идиомой ||, а логический вентиль И часто представлен идиомой && идиома. Элемент НЕ обычно обозначается символом !.

Подведение итогов

В этой статье мы обсудили логические элементы ИЛИ, И, XOR, NOR, NAND, XNOR и NOT. Мы также рассмотрели, как логические вентили имитируют человеческое мышление и как они могут помочь нам написать сложную логику программирования в компьютерной программе. Мы также кратко рассмотрели логические вентили, используемые в компьютерном коде.

Если вам понравилось читать эту статью, взгляните на наши статьи From 0 to F: Hexadecimal and Bits, Bytes и Binary, которые помогут вам понять, как компьютеры работают внутри.