1. Главная
  2. Библиотека
  3. Логика
  4. Известно, что с помощью штриха Шеффера (отрицание конъю...
Разбор задачи

Известно, что с помощью штриха Шеффера (отрицание конъюнкции) можно выразить любую булеву функцию. Таблица истинности штриха Шеффера приведена ниже: Рассмотрим задачу сложения двух двоичных чисел и , каждое из которых состоит из бит. Биты в числах и

  • Предмет: Логика
  • Автор: Кэмп
  • #Символическая логика
  • #Математическая логика
Известно, что с помощью штриха Шеффера (отрицание конъюнкции) можно выразить любую булеву функцию. Таблица истинности штриха Шеффера приведена ниже: Рассмотрим задачу сложения двух двоичных чисел и , каждое из которых состоит из бит. Биты в числах и

Условие:

Известно, что с помощью штриха Шеффера (отрицание конъюнкции) можно выразить любую булеву функцию. Таблица истинности штриха Шеффера приведена ниже:

\begin{array}{|c|c|c|} \hline $x$ & $y$ & $x \mid y$ \\ \hline 0 & 0 & 1 \\ 0 & 1 & 1 \\ 1 & 0 & 1 \\ 1 & 1 & 0 \\ \hline \end{array}

Рассмотрим задачу сложения двух двоичных чисел AA и BB, каждое из которых состоит из NN бит. Биты в числах AA и BB пронумерованы от 0 (младший разряд) до N1N-1 (старший разряд). Сумму AA и BB всегда можно представить как N+1N+1-битное число. Назовем самый старший бит суммы (бит с номером NN ) битом переполнения.

Вам нужно построить булеву формулу, вычисляющую значение бита переполнения для произвольных NN-битных чисел AA и BB, используя только штрих Шеффера. Формула строится по следующим правилам:

  • Аі - формула, равная значению ii-го бита числа AA.
  • Ві - формула, равная значению ii-го бита числа BB.
  • (x|y) - формула, обозначающая применение штриха Шеффера к xx и yy, где xx и yy - некоторые формулы.

Индекс ii в формулах для битов чисел AA и BB записывайте десятичным числом без ведущих нулей, например, бит числа AA с номером 12 должен быть записан как А12. Вокруг каждого применения штриха Шеффера должны стоять скобки (согласно третьему правилу). Внутри формулы не должно быть пробелов. Вход содержит число N(1N100)N(1 \leqslant N \leqslant 100). Выведите формулу, вычисляющую бит переполнения суммы двух NN-битных чисел AA и BB по правилам, описанным в условии. Для обозначения штриха Шеффера используйте символ I (ASCII код 124).

Размер выходного файла не должен превосходить 50N50 N байт.

Решение:

Нам нужно получить булеву функцию, которая по N‑битным числам A и B (с битами A0,…,A(N–1) и B0,…,B(N–1)) вычисляет бит переполнения суммы, то есть бит Cₙ, если определить перенос по разрядам следующим образом:

  c₀ = 0,
  cᵢ₊₁ = (Aᵢ ∧ Bᵢ) ∨ ((Aᵢ ∨ Bᵢ) ∧ cᵢ) для i = 0,…,N–1.

При этом сумма равна S = ∑₍ᵢ₌₀₎ⁿ​₁ (Aᵢ ⊕ Bᵢ ⊕ cᵢ)·2ᶦ и бит переполнения – это cₙ.

Далее воспользуемся известным фактом, что штрих Шеффера (операция NAND, обозначаемая символом I) является функционально полным. Именно, можно получить следующие основные логические операции (кажд...

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

Попробуй решить по шагам

Попробуй один шаг и продолжи в режиме обучения или посмотри готовое решение

Какая из следующих булевых функций может быть выражена только через штрих Шеффера (NAND) без использования других логических операций?

Что нужно знать по теме:

Что нужно знать по теме

Алгоритм решения

Топ 3 ошибок

Что спросит препод

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет