Электроника:Цифровая электроника/Булева алгебра/Логическая арифметика

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Макаров В. (valemak) Контакты:</br>* Habr: @vakemak</br>* Сайт: www.valemak.com</br>Перевёл статей: 648.
Проверка/Оформление/Редактирование: Мякишев Е.А.


Логическая арифметика[1]

А начнём изучение арифметики в булевой алгебре со сложения:

Рис. 1. Сложение величин в булевой алгебре.
Рис. 1. Сложение величин в булевой алгебре.

Первые три суммы выглядят осмысленно для любого, кто знаком с элементарным сложением.

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

Что ж, это противоречит принципам сложения действительных величин, но не логических.

Помните, что в мире булевой алгебры есть только два возможных значения для любой величины, только два результата для любой арифметической операции: или 1 или 0. В области логических значений не существует такой вещи, как «2». Поскольку сумма «1 + 1» определённо ненулевая, методом исключения приходим к выводу, что она должна быть равна 1.

Неважно, насколько много или насколько мало величин складывается вместе. Рассмотрим следующие суммы:

Рис. 2. Примеры сложения нескольких логических величин. Если среди слагаемых есть хотя бы одна единица, то и вся сумма равна единице.
Рис. 2. Если среди слагаемых есть хотя бы одна единица, то и вся сумма равна единице.

Вентиль «ИЛИ»

Внимательно посмотрите на двухчленные суммы в первой системе уравнений.

Ничего не напоминает? Ведь должно́! Да это тот же набор единиц и нулей, что и в таблице истинности для логического элемента ИЛИ.

Другими словами, логическое сложение соответствует логической функции элемента «ИЛИ», а также параллельным контактным переключателям:

Сопоставление логического сложения с вентилем ИЛИ или с параллельными контактными переключателями

Рис. 3.1. Сопоставление логического сложения с вентилем ИЛИ или с параллельными контактными переключателями (0 + 0 = 0).
Рис. 3.1. 0 + 0 = 0.
Рис. 3.2. Сопоставление логического сложения с вентилем ИЛИ или с параллельными контактными переключателями (0 + 1 = 1).
Рис. 3.2. 0 + 1 = 1.
Рис. 3.3. Сопоставление логического сложения с вентилем ИЛИ или с параллельными контактными переключателями (1 + 0 = 1).
Рис. 3.3. 1 + 0 = 1.
Рис. 3.4. Сопоставление логического сложения с вентилем ИЛИ или с параллельными контактными переключателями (1 + 1 = 1).
Рис. 3.4. 1 + 1 = 1.

Вычитание и деление

В булевой математике нет такого понятия, как вычитание.

Вычитание подразумевает существование отрицательных чисел: 5 - 3 то же самое, что 5 + (-3), а в булевой алгебре отрицательные величины запрещены.

Слегка забегая вперёд, отметим, что в булевой математике также нет такой вещи, как деление, поскольку деление на самом деле не что иное, как многократное вычитание (аналогично тому, что умножение – это многократное сложение).

Вентиль «И»

Умножение допустимо в булевой алгебре, и, к счастью, оно такое же, как и в алгебре для действительных чисел: всё, что умножается на 0, равно 0, а всё, что умножается на 1, остаётся неизменным:

Рис. 4. Умножение величин в булевой алгебре.
Рис. 4. Умножение величин в булевой алгебре.

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

Другими словами, логическое умножение соответствует логической функции элемента «И», а также последовательным контактным переключателям:

Сопоставление логического умножения с вентилем И или с последовательными контактными переключателями

Рис. 5.1. Сопоставление логического умножения с вентилем И или с последовательными контактными переключателями (0 × 0 = 0).
Рис. 5.1. 0 × 0 = 0.
Рис. 5.2. Сопоставление логического умножения с вентилем И или с последовательными контактными переключателями (0 × 1 = 0).
Рис. 5.2. 0 × 1 = 0.
Рис. 5.3. Сопоставление логического умножения с вентилем И или с последовательными контактными переключателями (1 × 0 = 0).
Рис. 5.3. 1 × 0 = 0.
Рис. 5.4. Сопоставление логического умножения с вентилем И или с последовательными контактными переключателями (1 × 1 = 1).
Рис. 5.4. 1 × 1 = 1.

Дополнение к булевой переменной

Как и в «нормальной» алгебре, в булевой алгебре для обозначения переменных используются буквы алфавита.

Однако, в отличие от «нормальной» алгебры, логические переменные отмечаются всегда ЗАГЛАВНЫМИ буквами, а не строчными.

Поскольку им разрешено иметь только одно из двух возможных значений, 1 или 0, каждая переменная имеет дополнение: противоположное ей по значению.

Например, если переменная A имеет значение 0, то дополнение к A имеет значение 1.

В логической записи для обозначения дополнения над символом переменной используется горизонтальная черта над операндом, например:

Рис. 6. Переменная A и (обозначенной верхней чёрточкой) дополнение к этой переменной.
Рис. 6. Переменная A и (обозначенной верхней чёрточкой) дополнение к этой переменной.

Вентиль «НЕ»

В письменной форме дополнение к «A» обозначается как «НЕ-A», в разговорной речи часто используется термин «A-чёрточка». Иногда для обозначения дополнения используется символ «штрих» («'»).

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

Однако обычно символ «черта» находит существенно более широкое применение, чем символ «штрих», по причинам, которые станут более очевидными позже в этой главе. Логическое дополнение находит эквивалентность в форме логического элемента НЕ, нормально замкнутого переключателя или релейного контакта:

Сопоставление логического дополнения с вентилем НЕ или с нормально замкнутым переключателем

Рис. 7.1. Сопоставление логического дополнения с вентилем НЕ или с нормально замкнутым переключателем (дополнение к 0 соответствует размыканию нормально замкнутого переключателя).
Рис. 7.1. Дополнение к 0 соответствует размыканию нормально замкнутого переключателя.
Рис. 7.2.Дополнение к 1 соответствует замыканию нормально замкнутого переключателя.
Рис. 7.2. Сопоставление логического дополнения с вентилем НЕ или с нормально замкнутым переключателем (дополнение к 1 соответствует замыканию нормально замкнутого переключателя).

Базовое определение логических величин привело к простым правилам сложения и умножения и исключило как вычитание, так и деление, как недопустимые арифметические операции. У нас есть символы для обозначения логических переменных и их дополнений. В следующем разделе мы перейдём к разработке логических тождеств.

Итог

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

См.также

Внешние ссылки