Выражение функции A⊕B⊕C через базовые логические операции

Разбираем F = A ⊕ B ⊕ C без лишней теории. Пошагово превращаем исключающее ИЛИ в базовые логические операции за минуту.

Бесплатная консультация юриста

+7 (800) 302-87-29

Реклама jurik.ru

Конечно! Чтобы выразить функцию F = A ⊕ B ⊕ C (сумма по модулю 2 для трёх переменных) через базовые логические операции И (∧), ИЛИ (∨), НЕ (¬), можно использовать два основных подхода.

Способ 1: Последовательное применение формулы для двух переменных

Сначала вспомним, как выражается XOR для двух переменных:
X ⊕ Y = (X ∧ ¬Y) ∨ (¬X ∧ Y)

Так как F = A ⊕ B ⊕ C можно представить как (A ⊕ B) ⊕ C, действуем по шагам:

Найдём A ⊕ B:
`M = A ⊕ B = (A ∧ ¬B) ∨ (¬A ∧ B)`

Теперь найдём F = M ⊕ C:
`F = (M ∧ ¬C) ∨ (¬M ∧ C)`

Найдём отрицание M (это эквиваленция XNOR):
`¬M = ¬(A ⊕ B) = (A ∧ B) ∨ (¬A ∧ ¬B)`

Подставляем всё в формулу для F:
`F = [ ((A ∧ ¬B) ∨ (¬A ∧ B)) ∧ ¬C ] ∨ [ ((A ∧ B) ∨ (¬A ∧ ¬B)) ∧ C ]`

Раскрывая скобки, получаем:
`F = (A ∧ ¬B ∧ ¬C) ∨ (¬A ∧ B ∧ ¬C) ∨ (A ∧ B ∧ C) ∨ (¬A ∧ ¬B ∧ C)`

—

Способ 2: Построение по таблице истинности (СДНФ)

Функция A ⊕ XOR B ⊕ C равна 1, когда число единиц среди входов нечётное (то есть 1 или 3).

| A | B | C | F |
|—|—|—|—|| 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 1 || 0 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 0 | 0 |
| 1 | 1 | 1 | 1 |
Составляем логическую сумму (ИЛИ) произведений (И) для строк, где F = 1:

F = (A ∧ B ∧ C) ∨ (A ∧ ¬B ∧ ¬C) ∨ (¬A ∧ B ∧ ¬C) ∨ (¬A ∧ ¬B ∧ C)

—

Оба способа приводят к одному и тому же результату (термы могут быть записаны в разном порядке):

F = (A ∧ B ∧ C) ∨ (A ∧ ¬B ∧ ¬C) ∨ (¬A ∧ B ∧ ¬C) ∨ (¬A ∧ ¬B ∧ C)

Это итоговая формула, выражающая трёхвходовый XOR через базовые логические элементы. Для её реализации потребуются:

  • Инверторы для получения ¬A, ¬B, ¬C.
  • Четыре элемента *И(с тремя входами каждый, или восемь двухвходовых).
  • Один элемент *ИЛИ(с четырьмя входами, или три двухвходовых).