- •Математика в компьютере Учебное пособие
- •Математика в компьютере
- •Введение
- •I.Арифметико-логические основы эвм
- •1.Понятие системы счисления Позиционные и непозиционные системы счисления
- •2.Позиционные системы счисления, используемые в эвм
- •2.1.Двоичная система счисления
- •Двоичная таблица сложения Двоичная таблица умножения
- •Пример: 1) 111 2) 1001 3) 11011
- •2.2.Шестнадцатеричная система счисления
- •Шестнадцатеричная таблица сложения
- •2.3.Смешанные системы счисления
- •3.Перевод чисел из одной системы счисления в другую
- •3.1.Перевод целых чисел
- •3.2.Перевод правильных дробей
- •4.Формы записи чисел
- •Нормализация
- •5.Системы кодирования
- •5.1.Кодирование символьной информации
- •Коды десятичных цифр (дкои)
- •Коды латинских букв (дкои)
- •Коды русских букв (дкои)
- •Коды знаков (дкои)
- •5.2.Кодирование графической информации
- •5.3.Кодирование звуковой информации
- •6.Прямой, обратный и дополнительный коды
- •7.Представление информации в памяти эвм
- •8.Логические основы эвм
- •II.Набор заданий
- •III.Примеры с ответами
- •IV.Самостоятельная работа
- •V.Самоконтроль
- •VI.Алгебра логики
- •VII.Индивидуальное
- •Методика выполнения индивидуального задания
- •Сконструировать число
- •Литература
- •Содержание
8.Логические основы эвм
Кроме арифметических, ЭВМ выполняют также логические операции, основанные на понятиях алгебры логики. Основным понятием алгебры логики является высказывание. Высказывание – это законченное предложение, о котором можно сказать, что его содержание либо истинно, либо ложно. Каждому высказыванию можно приписать одно из двух значений: истинному высказыванию соответствует значение "1", а ложному – "0".
Из нескольких простых высказываний можно составлять сложные высказывания. Для объединения простых высказываний в сложные применяются знаки логических операций: отрицание, конъюнкция, дизъюнкция, равнозначность. В ЭВМ названные операции выполняются над двоичными кодами поразрядно, т.е. в каждом разряде, независимо от остальных разрядов.
Конъюнкция двух высказываний А и В (логическое умножение) обозначается А^В или АВ (читается «А и В»). Значение истинности конъюнкции следующее:
-
А
В
А^В
1
1
1
1
0
0
0
1
0
0
0
0
Результат операции логического умножения является истинным тогда, когда истинны оба высказывания. Если оба высказывания, или хотя бы одно из них ложно, то и А^В тоже ложно.
Из определения конъюнкции и значения ее истинности вытекает, что:
А^0=0, А^1=1, А^А=А.
Операция логическое умножение в ЭВМ похожа на обычное умножение, но отличается тем, что она проходит в каждом разряде независимо от остальных разрядов.
Примеры: 1011010111 – 1-й операнд A= 10110
^ 0010110101 – 2-й операнд B= 11010
0010010101 – результат A^B= 10010
Дизъюнкция двух высказываний А и В (логическое сложение) обозначается АvВ, или А+В (читается «А или В»). Значение истинности дизъюнкции следующее:
-
А
В
АvВ
1
1
1
1
0
1
0
1
1
0
0
0
Результат операции логического сложения является истинным тогда, когда хотя бы одно из исходных высказываний истинно.
Из определения дизъюнкции и значения её истинности следует, что:
Аv0=А, Аv1=1, АvА=А.
Логическое сложение в ЭВМ тоже поразрядная операция. Если возьмем те же два исходных числа, то результат этой операции будет таким:
1011010111 – 1-й операнд А= 10110
0010110111 – 2-й операнд В= 11010
0010010101 – результат АvВ= 11110
Равнозначность двух высказываний А и В обозначается А~В, или А=В (читается «А равнозначно В»). Значение истинности равнозначности следующее:
-
А
В
А~В
1
1
1
1
0
0
0
1
0
0
0
1
Два высказывания считаются равнозначными, если значения истинности их одинаково, т.е. запись А=В показывает, что высказывания А и В либо оба истинны, либо оба ложны. Из таблицы истинности равнозначности получается:
А~1=А; А~0=А.
Равнозначность представляет собой сложное высказывание. Сложную логическую связь равнозначности можно представить в виде комбинаций простых логических связей: конъюнкций, дизъюнкций и отрицания:
Например: А=10110
В=10101
А~В=11100
Отрицание равнозначности двух высказываний А и В (сопоставление или сравнение) обозначается , или А#В, или А<>В (читается "А неравнозначно В").
Значение истинности отрицания равнозначности следующее:
-
А
В
1
1
0
1
0
1
0
1
1
0
0
0
По сущности операции ясно, что результат может оказаться состоящим из всех нулей только в том случае, если оба операнда полностью совпадают.
Как и предыдущие, эта операция в ЭВМ является поразрядной. Произведем её над теми же двумя двоичными кодами.
1011010111 – 1-й операнд
0010110101 – 2-й операнд
1001100010 – результат
Отрицание равнозначности двух высказываний представляет собой сложное высказывание, получаемое при помощи двух ранее описанных логических операций: .
В алгебре логики используются четыре основных закона: переместительный, сочетательный, распределительный и закон инверсии.
Переместительный: А^В=В^А; АvВ=ВvА.
Сочетательный: (А^В)^С=А^(В^С)=В^(А^С);
(АvВ)+С=Аv(ВvС)=Вv(АvС).
Распределительный: А^ВvС=(АvС) ^ (ВvС);
(АvВ)^С=А^СvВ^С.
Закон инверсии: ;
.
К группе логических операций иногда относят и операцию сдвига. При выполнении этой операции происходит перемещение влево или вправо всех двоичных цифр содержимого указанной ячейки (поля) на заданное количество разрядов. При этом разряды, выдвигающиеся за пределы ячейки, теряются, а освобождающиеся разряды заполняются нулями. Пусть, например, десятиразрядная ячейка содержит код 1101011110. Содержимое, этой ячейки после сдвига соответственно на три разряда вправо и на четыре разряда влево изобразится так:
-
1
2
3
4
5
6
7
8
9
10
а)
1
1
0
1
0
1
1
1
1
0
-
б)
0
0
0
1
1
0
1
0
1
1
-
в)
0
1
1
1
1
0
0
0
0
0
а) содержимое ячейки до сдвига;
б) после сдвига на три разряда вправо;
в) после сдвига на четыре разряда влево.
Перечисленные логические операции широко применяются при необходимости обрабатывать содержимое части ячейки или байта, «упаковать» несколько элементов данных в одну ячейку, проверять наличие и отсутствие в заданном поле тех или иных элементов или признаков и пр.
Алгебра логики находит весьма широкое практическое применение. Важное значение имеет приложение алгебры логики к синтезу контактных схем.
Контактная схема представляет собой устройство из проводов и контактов, связывающих два или более полюсов. Мы будем рассматривать схемы, имеющие два полюса, один из которых является входом в систему, а другой – выходом.
К онтакты бывают двух типов: замыкающие и размыкающие. Замыкающий контакт (см. рис. 8.1.а) в нерабочем состоянии сохраняет цепь в разомкнутом состоянии (т.е. если кнопка контакта не нажата, то цепь разомкнута). При рабочем состоянии (кнопка нажата) контакт замыкает цепь. Размыкающий контакт, наоборот, в нерабочем состоянии замыкает цепь, а в рабочем – размыкает.
Рис. 8.1. Контактные схемы
Контакты будем обозначать последними буквами латинского алфавита: x, y, z и т.д. Причем в случае размыкающего контакта сверху буквы будем ставить черточку.
С помощью этих контактов нетрудно реализовать логические операции над высказываниями и всевозможные формулы алгебры логики. На рис. 8.1.б показана реализация конъюнкции и дизъюнкции при помощи замыкающих контактов.
Пусть нерабочему состоянию контакта соответствует 0, рабочему 1. Отсутствие тока в цепи примем за 0, наличие – за 1. В схеме с последовательно включенными контактами ток в цепи может быть только тогда, если замкнуты оба контакта. Если же не замкнут один из контактов (или оба контакта), то ток в цепи отсутствует.
Таким образом, выполняется таблица истинности для конъюнкции:
-
x
y
x^y
1
1
1
1
0
0
0
1
0
0
0
0
В схеме с параллельно включенными контактами ток в цепи появляется тогда, когда замкнут хотя бы один из контактов. Только в одном случае цепь не проводит тока, – если разомкнуты оба контакта. Следовательно, выполняется таблица истинности для дизъюнкции:
-
x
y
xvy
1
1
1
1
0
1
0
1
1
0
0
0
Итак, конъюнкция высказываний реализуется последовательным соединением контактов, дизъюнкция – параллельным.