Перейти к содержанию
Educora
Средний8–10 классы16 мин18 / 59

Логические операции и логические элементы

Узнай об истинных и ложных высказываниях, операциях И, ИЛИ, НЕ, таблицах истинности и о том, как компьютер складывает числа с помощью логических элементов.

Проверь себя
В этом уроке ты узнаешь
  • Находить результат операций И, ИЛИ, НЕ и исключающего ИЛИ
  • Строить и читать таблицы истинности
  • Вычислять значение логического выражения
  • Объяснять, как логические элементы используются в компьютере

Эльвин говорит друзьям: «Если в субботу будет хорошая погода и я закончу уроки, пойду на Приморский бульвар». В этой фразе два условия, соединённых словом «и». Компьютер принимает решения точно так же — соединяет простые условия логическими операциями. Только вместо «да» и «нет» он использует 1 и 0.

Высказывания: истина и ложь

Определение
Высказывание

Утверждение, о котором можно однозначно сказать, истинно оно или ложно. Истинному высказыванию приписывают значение 1, ложному — 0.

Например, «Баку — столица Азербайджана» — истинное высказывание (1), а «5 > 8» — ложное (0). «Какая сегодня погода?» — вовсе не высказывание: вопрос не может быть ни истинным, ни ложным.

Основные логические операции

  • НЕ (инверсия, NOT) меняет значение на противоположное: НЕ 1 = 0, НЕ 0 = 1.
  • И (конъюнкция, AND) даёт 1, только когда оба высказывания истинны.
  • ИЛИ (дизъюнкция, OR) даёт 1, когда истинно хотя бы одно высказывание.
  • Исключающее ИЛИ (XOR) даёт 1, только когда истинно ровно одно высказывание, то есть когда входы различны.

Таблица, которая показывает результат операции для всех возможных случаев, называется таблицей истинности. Для двух входов существует всего 4 случая:

ABA И BA ИЛИ BA XOR B
00000
01011
10011
11110
Таблица истинности операций с двумя входами
AНЕ A
01
10
У операции НЕ всего один вход

Логические элементы

Внутри компьютера логические операции выполняют логические элементы (вентили). Это крошечные электронные схемы из транзисторов: на входы подаются сигналы 0 или 1, а на выходе получается результат. В современном процессоре миллиарды транзисторов, и собранные из них элементы складывают числа, сравнивают их и хранят в памяти.

Интерактив
Загрузка симуляции…
Меняй входы A и B: элемент И выдаёт 1, только когда оба входа равны 1.

Кроме основных элементов широко используются их сочетания: И-НЕ (NAND) инвертирует результат И, а ИЛИ-НЕ (NOR) — результат ИЛИ. Интересно, что из одних только элементов И-НЕ можно собрать любую другую логическую схему.

Логические выражения и двоичное сложение

Операции соединяются в логические выражения. Если скобок нет, сначала выполняется НЕ, затем И, а последним — ИЛИ; это похоже на то, как в математике умножение выполняется раньше сложения.

Пример: значение выражения

Найди значение выражения (A ИЛИ B) И НЕ C при A = 1, B = 0, C = 1.

Показать решение
1) Скобки: A ИЛИ B = 1 ИЛИ 0 = 1.
2) НЕ C = НЕ 1 = 0.
3) 1 И 0 = 0.
Выражение ложно, так как один из входов операции И равен 0.
Как компьютер складывает? Полусумматор

Нужно сложить два бита A и B. Какие элементы дают цифру суммы (S) и перенос в следующий разряд (C)?

Показать решение
Выпишем все случаи:
0 + 0 = 00₂ → S = 0, C = 0
0 + 1 = 01₂ → S = 1, C = 0
1 + 0 = 01₂ → S = 1, C = 0
1 + 1 = 10₂ → S = 0, C = 1
Столбец S совпадает с таблицей исключающего ИЛИ, а столбец C — с таблицей И.
Значит, S = A XOR B, C = A И B. Соединяя такие схемы, процессор складывает числа любой длины.
Интерактив
Загрузка симуляции…
Элемент XOR выдаёт 1, когда входы различны, — это цифра суммы в полусумматоре.
Python
print('A B | AND OR XOR')
for a in (0, 1):
    for b in (0, 1):
        print(f'{a} {b} |  {a & b}   {a | b}   {a ^ b}')
▸ Ожидаемый результат
A B | AND OR XOR
0 0 |  0   0   0
0 1 |  0   1   1
1 0 |  0   1   1
1 1 |  1   1   0
В Python над битами & выполняет И, | — ИЛИ, а ^ — исключающее ИЛИ. Программа сама строит всю таблицу истинности.

Главное

  • Высказывание либо истинно (1), либо ложно (0).
  • И даёт 1, только когда оба входа равны 1; ИЛИ — когда хотя бы один вход равен 1.
  • НЕ меняет значение на противоположное, а XOR даёт 1, когда входы различны.
  • Без скобок порядок такой: НЕ, затем И, затем ИЛИ.
  • Логические элементы строятся из транзисторов; XOR и И вместе складывают два бита.

Проверь себя

Вопросов: 10. Каждый правильный ответ приносит XP.

1 / 10
Когда выражение A И B равно 1?