
- •1 Цель работы
- •2 Задание
- •3 Содержание отчёта
- •4 Контрольные вопросы
- •5 Варианты задач
- •6 Теоретические и справочные сведения
- •6.1 Позиционные системы счисления
- •6.1.1 Десятичная система счисления
- •6.1.2 Двоичная система счисления
- •6.1.3 Шестнадцатеричная система счисления
- •6.1.4 Операции над числами
- •6.2 Булева алгебра
- •6.2.1 Булевы функции
- •6.2.2 Описание произвольной логической функции
- •6.2.3 Минимизация логических функций
- •6.3 Аппаратная реализация логических функций
- •6.3.1 Логические элементы
- •6.3.2 Конструирование логического устройства
- •1 Логические функции в электронных таблицах
- •2 Пример выполнения работы
14
6.1.4 Операции над числами
Для любых чисел определены операции сложения, вычитания, умножения, деления и т.д. Найти сумму, разность, произведение и частное двоичных и шестнадцатеричных чисел, применяя соответствующие этим системам правила переноса и таблицы умножения, можно так же, как и десятичных (Таблица 4).
Технически сложение реализуется с помощью аппаратной реализации логических функций, вычитание может быть реализовано, например, через сложение с числом, представленном в дополнительном или обратном коде. Устройство преобразования числа в дополнительный код в совокупности с сумматором оказываются проще специального устройства для вычитания за счёт сложности реализации заёмов. Если вычитание производится на имеющемся сумматоре, оборудование экономится ещё больше.
Представление числа в обратном (инверсном) коде реализуется заменой значений всех разрядов числа на противоположные: 00011100b 11100011b . Представление числа в дополнительном коде реализуется прибавлением единицы к числу, представленному в обратном коде: 00011100b 11100011b 00000001b=11100100b . Сумма числа и его представления в дополнительном коде даёт единицу: 00011100b 11100100b=100000000b . Если отбросить старший разряд, результат суммы с числом в дополнительном коде будет представлять собой разность чисел. Так как число в обратном коде на единицу меньше, чем в дополнительном, ри реализации вычитания через сложение с числом в обратном коде к результату прибавляется единица в младшем разряде, после чего соответствующее число младших разрядов рассматривается как результат.
6.2 Булева алгебра
История развития булевой алгебры начинается с книги Джорджа Буля «Законы мышления», изданной в 1854г. В ней Буль развил алгебру высказываний. В булевой алгебре каждое высказывание может иметь одно из двух значений: «True» и «False», любые логические выводы формируются посредством простейших логических операций. Значение «True» обычно соответствует двоичной единице, а «False» - нулю. Логические операции аппаратно реали-

15
зуются по несложным электрическим схемам, где нулю и единице соответствуют разные напряжения. Применение аппаратно реализованных логических операций булевой алгебры позволило поручить машине автоматическое формирование определённых логических выводов на основе исходных данных, представленных в
Таблица 5. Таблица истинности одноместных операций.
№ значение |
обозначение |
наименование |
||
|
0 |
1 |
X |
Значение на входе |
0 |
0 |
0 |
0 |
Константа «0» (Тождество 0) |
1 |
0 |
1 |
X |
Повторение X (Тождество X) |
2 |
1 |
0 |
X ,¬X |
Отрицание X (инверсия), «НЕ» |
3 |
1 |
1 |
1 |
Константа «1» (Тождество 1) |
Таблица 6. Таблица истинности двуместных операций.
№значение обозначение |
наименование |
|
0 0 1 1 |
X |
Вход1 |
0 1 0 1 |
Y |
Вход2 |
0 0 0 0 0 |
0 |
Константа «0» (Тождество 0) |
1 0 0 0 1 |
XY , X Y , X & Y |
Конъюнкция (логическое умноже- |
|
X Y |
ние, «И») |
2 0 0 1 0 |
Запрет X в Y |
|
3 0 0 1 1 |
X |
Повторение X (Тождество X) |
4 0 1 0 0 |
Y X |
Запрет Y в X |
5 0 1 0 1 |
Y |
Повторение Y (Тождество Y) |
6 0 1 1 0 |
X Y |
Сумма по модулю 2 (исключаю- |
|
X Y , X Y |
щее «ИЛИ») |
7 0 1 1 1 |
Дизъюнкция (логическое сложе- |
|
|
X Y , X Y |
ние, «ИЛИ») |
8 1 0 0 0 |
«ИЛИ-НЕ», стрелка Пирса |
|
9 1 0 0 1 |
X Y , X ~Y , X ≡Y Эквивалентность |
|
A 1 0 1 0 |
¬Y ,Y |
Отрицание Y |
B 1 0 1 1 |
X Y , X Y |
Импликация Y в X |
C 1 1 0 0 |
¬X , X |
Отрицание X |
D 1 1 0 1 |
X Y , X Y |
Импликация X в Y |
E 1 1 1 0 |
XY , X Y |
«И-НЕ», Штрих Шеффера. |
F 1 1 1 1 |
1 |
Константа «1» (Тождество 1) |

16
двоичном виде. В связи с этим, булева алгебра получила широкое распространение для реализации обработки информации на ЭВМ.
6.2.1 Булевы функции
Булева алгебра включает в себя четыре одноместные операции (Таблица 5) и шестнадцать двуместных (Таблица 6). По традиции операции булевой алгебры принято называть логическими функциями или функциями - связками. Логические функции описываются с помощью таблиц истинности, которые однозначно определяют значение результата в зависимости от значений аргументов.
Операции, не изменяющие входные значения, называются тривиальными. Операции, результат которых зависит не от всех входных переменных, называются вырожденными. Переменные, не участвующие в результате, называются фиктивными. Для описания более сложных логических функций ни тривиальные, ни вырожденные операции не используются. Логические операции обладают рядом свойств (Таблица 7).
Таблица 7. Свойства логических операций
коммутативность |
|
X Y =Y X ,{, , , , | ,≡} |
|||||||||||||||||||||
идемпотентность |
|
X X =X ,{,} |
|||||||||||||||||||||
(тавтология) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ассоциативность |
X Y Z =X Y Z ,{, , ,≡} |
||||||||||||||||||||||
дистрибутивность |
X Y Z =XY XZ , X Y Z =XY XZ , |
||||||||||||||||||||||
|
X YZ= X Y X Z |
||||||||||||||||||||||
де Моргана: |
|
|
Y = |
|
|
, |
|
|
|
|
|
= |
|
|
|
|
|
|
|||||
|
X |
XY |
X |
Y |
X Y |
||||||||||||||||||
поглощения: |
|
X X Y =X , X XY =X |
|||||||||||||||||||||
отрицание отрица- |
|
|
=X |
||||||||||||||||||||
|
X |
||||||||||||||||||||||
ния |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
нулевого единичного |
|
X0=0, X 0=X , X1=X , X 1=1 |
|||||||||||||||||||||
элемента |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
дополнительного |
|
X |
|
|
=1, X |
|
=0 |
|
|
|
|
||||||||||||
|
X |
X |
|||||||||||||||||||||
элемента |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
сокращения |
|
X |
|
Y =X Y , X |
|
Y =XY |
|||||||||||||||||
|
X |
X |
|||||||||||||||||||||
склеивания |
|
XY X |
|
=X , X Y X |
|
=X |
|||||||||||||||||
|
Y |
Y |

17
6.2.2 Описание произвольной логической функции
Булевы функции можно определить и для большего числа аргументов (как это можно видеть из свойств). Например, логическое сложение, умножение и ещё три функции для трёх аргументов: f 1 - исключающее «ИЛИ», f 2 - сумма по модулю 2, f 3 - мажоритарная функция, задаются таблицей истинности (Таблица 8).
Всего различных логических функций трёх аргументов будет 256. Рассматривать их все нет никакого смысла, если учесть, что любую из них можно реализовать в виде выражения с помощью одноместных и двуместных логических операций, используя их свойства. Так, X Y Z= X Y Z и XYZ = XY Z .
Значение выражения вычисляется в порядке приоритета операций, а в случае равного приоритета – слева направо. Наивысший
приоритет у операций в скобках, далее |
|
|
Таблица 8. Пример |
||||||||||||||||||||||||||||
следуют инверсия, конъюнкция, дизъюнк- |
|
|
логических функций |
||||||||||||||||||||||||||||
ция, сумма по модулю 2, эквивалентность, |
|
|
трёх аргументов |
|
|
||||||||||||||||||||||||||
импликация и запрет (всего семь уровней). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
x |
y |
z |
|
|
|
|
f 1 |
f 2 |
f 3 |
||||||||||||||||||||
В операциях, записанных подобно |
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
x y |
|||||||||||||||||||||||||||||||
|
|
|
0 |
0 |
0 |
0 |
0 |
|
0 |
0 |
|
0 |
|||||||||||||||||||
или |
|
, сначала вычисляется выраже- |
|
|
|
||||||||||||||||||||||||||
x y |
|||||||||||||||||||||||||||||||
|
|
0 |
0 |
1 |
1 |
0 |
|
1 |
1 |
|
0 |
||||||||||||||||||||
ние под инверсией, затем выполняется ин- |
|
|
|
||||||||||||||||||||||||||||
|
|
0 |
1 |
0 |
1 |
0 |
|
1 |
1 |
|
0 |
||||||||||||||||||||
версия. Вычисления |
автоматизируются |
|
в |
|
|
|
|||||||||||||||||||||||||
электронных таблицах (Приложение 1). |
|
|
|
|
|
0 |
1 |
1 |
1 |
0 |
|
0 |
0 |
|
1 |
||||||||||||||||
Для того чтобы описать |
f 1 , |
f 2 , |
|
f 3 |
|
|
1 |
0 |
0 |
1 |
0 |
|
1 |
1 |
|
0 |
|||||||||||||||
|
|
|
1 |
0 |
1 |
1 |
0 |
|
0 |
0 |
|
1 |
|||||||||||||||||||
с помощью комбинации функций - связок, |
|
|
|
||||||||||||||||||||||||||||
есть несколько подходов. Например, в та- |
|
|
1 |
1 |
0 |
1 |
0 |
|
0 |
0 |
|
1 |
|||||||||||||||||||
блице истинности для каждого |
|
|
|
|
|
|
|
|
|
|
|
1 |
1 |
1 |
1 |
1 |
|
0 |
1 |
|
1 |
||||||||||
единичного значения функции |
|
Таблица 9. Синтез ДНФ для |
|
f 1 |
|||||||||||||||||||||||||||
записывают |
конъюнкцию |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
x |
y |
|
z |
|
|
x |
y |
z |
|
x y z |
|
x |
y |
z |
|
|
||||||||||||||
входных переменных или ин- |
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
0 |
0 |
|
|
0 |
|
|
|
0 |
|
|
0 |
|
|
0 |
|
|
0 |
|||||||||||||
версий входных |
переменных |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
0 |
0 |
|
|
1 |
|
|
|
1 |
|
|
0 |
|
|
0 |
|
|
1 |
|||||||||||||
так, чтобы на данном наборе |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
0 |
1 |
|
|
0 |
|
|
|
0 |
|
|
1 |
|
|
0 |
|
|
1 |
|||||||||||||
значений |
|
входных |
перемен- |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
0 |
1 |
|
|
1 |
|
|
|
0 |
|
|
0 |
|
|
0 |
|
|
0 |
||||||||||||
ных результат |
конъюнкции |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||
|
1 |
0 |
|
|
0 |
|
|
|
0 |
|
|
0 |
|
|
1 |
|
|
1 |
|||||||||||||
принял |
единичное |
значение |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
1 |
0 |
|
|
1 |
|
|
|
0 |
|
|
0 |
|
|
0 |
|
|
0 |
|||||||||||||
(Таблица 9). Такая конъюнк- |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
ция называется |
конъюнктив- |
|
1 |
1 |
|
|
0 |
|
|
|
0 |
|
|
0 |
|
|
0 |
|
|
0 |
|||||||||||
|
|
|
|
|
|
|
1 |
1 |
|
|
1 |
|
|
|
0 |
|
|
0 |
|
|
0 |
|
|
0 |

18
ным одночленом или минтермом и принимает единичное значение только на рассмотренном для неё наборе, в остальных случаях её значение будет нулевым. Для каждого набора входных значений, где в результате получается единица, необходимо создать соответствующий минтерм. В данном случае для первой функции получим три минтерма, каждый из которых включает по три переменных: x y z , x y z , x y z . Для остальных функций – по четыре минтерма. После этого, все полученные минтермы объединяются операцией дизъюнкции. В результате единица появляется тогда, когда один из минтермов принимает единичное значение, в свою очередь, единичное значение каждый минтерм принимает только для своего набора значений входных переменных. Такой способ задания логической функции называется дизъюнктивной нормальной формой (ДНФ). В итоге: f 1=x y z x y z x y z . Так логическая функция трёх переменных описана с помощью одноместной и двуместных операций: отрицания, конъюнкции и дизъюнкции. Аналогично
f 2=x y z x y z x y z x y z , f 3=x y z x y z x y z x y z . Пользуясь тем, что дизъюнкция принимает нулевое значение
только на одном входном наборе, можно описать все нули дизъюнктивными одночленами (макстермами), и полученные дизъюнкции объединить конъюнкцией – получим конъюнктивную нормальную форму (КНФ). Например, КНФ для f 2 (Таблица 10):
f 2= x y z x y z x y z x y z . Очевидно, КНФ выгоднее ДНФ, когда количество нулей меньше количества единиц.
С помощью операций конъюнкции, дизъюнкции и отрицания можно описать любую логическую функцию любого количества
переменных. |
|
Набор |
Таблица 10. Синтез КНФ для |
f 2 |
|
||||
операций, |
обладаю- |
x y z x y z |
x y z |
x y z |
x y z |
||||
щий таким свойством, |
|||||||||
называется |
функцио- |
0 0 0 |
0 |
1 |
1 |
1 |
0 |
||
нально |
полным |
бази- |
0 0 1 |
1 |
1 |
1 |
1 |
1 |
|
сом. Использованный |
0 1 0 |
1 |
1 |
1 |
1 |
1 |
|||
нами |
базис |
не |
0 1 1 |
1 |
0 |
1 |
1 |
0 |
|
единственный, наибо- |
1 0 0 |
1 |
1 |
1 |
1 |
1 |
|||
лее известные базисы |
1 0 1 |
1 |
1 |
0 |
1 |
0 |
|||
- в Таблице 11. |
|
1 1 0 |
1 |
1 |
1 |
0 |
0 |
||
|
|
|
|
1 1 1 |
1 |
1 |
1 |
1 |
1 |