Читайте также:
|
|
Кроме арифметических, ЭВМ выполняют также логические операции, основанные на понятиях алгебры логики. Основным понятием алгебры логики является высказывание. Высказывание – это законченное предложение, о котором можно сказать, что его содержание либо истинно, либо ложно. Каждому высказыванию можно приписать одно из двух значений: истинному высказыванию соответствует значение "1", а ложному – "0".
Из нескольких простых высказываний можно составлять сложные высказывания. Для объединения простых высказываний в сложные применяются знаки логических операций: отрицание, конъюнкция, дизъюнкция, равнозначность. В ЭВМ названные операции выполняются над двоичными кодами поразрядно, т.е. в каждом разряде, независимо от остальных разрядов.
Конъюнкция двух высказываний А и В (логическое умножение) обозначается А^В или А*В (читается «А и В»). Значение истинности конъюнкции следующее:
А | В | А^В |
Результат операции логического умножения является истинным тогда, когда истинны оба высказывания. Если оба высказывания, или хотя бы одно из них ложно, то и А^В тоже ложно.
Из определения конъюнкции и значения ее истинности вытекает, что:
А^0=0, А^1=1, А^А=А.
Операция логическое умножение в ЭВМ похожа на обычное умножение, но отличается тем, что она проходит в каждом разряде независимо от остальных разрядов.
Примеры: 1011010111 – 1-й операнд A= 10110
^ 0010110101 – 2-й операнд B= 11010
0010010101 – результат A ^ B= 10010
Дизъюнкция двух высказываний А и В (логическое сложение) обозначается АvВ, или А+В (читается «А или В»). Значение истинности дизъюнкции следующее:
А | В | АvВ |
Результат операции логического сложения является истинным тогда, когда хотя бы одно из исходных высказываний истинно.
Из определения дизъюнкции и значения её истинности следует, что:
Аv0=А, Аv1=1, АvА=А.
Логическое сложение в ЭВМ тоже поразрядная операция. Если возьмем те же два исходных числа, то результат этой операции будет таким:
1011010111 – 1-й операнд А= 10110
0010110111 – 2-й операнд В= 11010
0010010101 – результат А v В= 11110
Равнозначность двух высказываний А и В обозначается А~В, или А=В (читается «А равнозначно В»). Значение истинности равнозначности следующее:
А | В | А~В |
Два высказывания считаются равнозначными, если значения истинности их одинаково, т.е. запись А=В показывает, что высказывания А и В либо оба истинны, либо оба ложны. Из таблицы истинности равнозначности получается:
А~1=А; А~0=А.
Равнозначность представляет собой сложное высказывание. Сложную логическую связь равнозначности можно представить в виде комбинаций простых логических связей: конъюнкций, дизъюнкций и отрицания:
Например: А=10110
В= 10101
А~В=11100
Отрицание равнозначности двух высказываний А и В (сопоставление или сравнение) обозначается , или А#В, или А<>В (читается "А неравнозначно В").
Значение истинности отрицания равнозначности следующее:
А | В | |
По сущности операции ясно, что результат может оказаться состоящим из всех нулей только в том случае, если оба операнда полностью совпадают.
Как и предыдущие, эта операция в ЭВМ является поразрядной. Произведем её над теми же двумя двоичными кодами.
1011010111 – 1-й операнд
0010110101 – 2-й операнд
1001100010 – результат
Отрицание равнозначности двух высказываний представляет собой сложное высказывание, получаемое при помощи двух ранее описанных логических операций: .
В алгебре логики используются четыре основных закона: переместительный, сочетательный, распределительный и закон инверсии.
Переместительный: А ^ В=В ^ А; А v В=В v А.
Сочетательный: (А ^ В) ^ С=А ^ (В ^ С)=В ^ (А ^ С);
(А v В)+С=А v (В v С)=В v (А v С).
Распределительный: А ^ В v С=(А v С) ^ (В v С);
(А v В) ^ С=А ^ С v В ^ С.
Закон инверсии: ;
.
К группе логических операций иногда относят и операцию сдвига. При выполнении этой операции происходит перемещение влево или вправо всех двоичных цифр содержимого указанной ячейки (поля) на заданное количество разрядов. При этом разряды, выдвигающиеся за пределы ячейки, теряются, а освобождающиеся разряды заполняются нулями. Пусть, например, десятиразрядная ячейка содержит код 1101011110. Содержимое, этой ячейки после сдвига соответственно на три разряда вправо и на четыре разряда влево изобразится так:
а) |
б) |
в) |
а) содержимое ячейки до сдвига;
б) после сдвига на три разряда вправо;
в) после сдвига на четыре разряда влево.
Перечисленные логические операции широко применяются при необходимости обрабатывать содержимое части ячейки или байта, «упаковать» несколько элементов данных в одну ячейку, проверять наличие и отсутствие в заданном поле тех или иных элементов или признаков и пр.
Алгебра логики находит весьма широкое практическое применение. Важное значение имеет приложение алгебры логики к синтезу контактных схем.
Контактная схема представляет собой устройство из проводов и контактов, связывающих два или более полюсов. Мы будем рассматривать схемы, имеющие два полюса, один из которых является входом в систему, а другой – выходом.
Рис. 8.1. Контактные схемы
Контакты будем обозначать последними буквами латинского алфавита: x, y, z и т.д. Причем в случае размыкающего контакта сверху буквы будем ставить черточку.
С помощью этих контактов нетрудно реализовать логические операции над высказываниями и всевозможные формулы алгебры логики. На рис. 8.1.б показана реализация конъюнкции и дизъюнкции при помощи замыкающих контактов.
Пусть нерабочему состоянию контакта соответствует 0, рабочему 1. Отсутствие тока в цепи примем за 0, наличие – за 1. В схеме с последовательно включенными контактами ток в цепи может быть только тогда, если замкнуты оба контакта. Если же не замкнут один из контактов (или оба контакта), то ток в цепи отсутствует.
Таким образом, выполняется таблица истинности для конъюнкции:
x | y | x ^ y |
В схеме с параллельно включенными контактами ток в цепи появляется тогда, когда замкнут хотя бы один из контактов. Только в одном случае цепь не проводит тока, – если разомкнуты оба контакта. Следовательно, выполняется таблица истинности для дизъюнкции:
x | y | x v y |
Итак, конъюнкция высказываний реализуется последовательным соединением контактов, дизъюнкция – параллельным.
II. Набор заданий
Дата добавления: 2015-07-11; просмотров: 72 | Нарушение авторских прав