Автор работы: Пользователь скрыл имя, 26 Ноября 2014 в 14:53, контрольная работа
В компьютерах все арифметические операции осуществляются в машинных кодах и могут быть сведены к операции сложения и операциям сдвига вправо или влево. Обычно применяются прямой, обратный и дополнительный коды.
Представление чисел в прямом коде осуществляется в виде знакового разряда и абсолютной величины числа.
В компьютерах все арифметические операции осуществляются в машинных кодах и могут быть сведены к операции сложения и операциям сдвига вправо или влево. Обычно применяются прямой, обратный и дополнительный коды.
Представление чисел в прямом коде осуществляется в виде знакового разряда и абсолютной величины числа.
Пример.
+2910 = 001111012 -2910 = 10111101
+12710 = 011111112 -12710 = 111111112
Для представления отрицательных чисел или замены операции вычитания на сложение используются обратный и дополнительный коды.
Сущность этих кодов заключается в том, что вычитаемое число Х, как отрицательное число, представляется в виде дополнения до некоторой константы С, такого, что С – Х >0. Обратный и дополнительный коды отличаются выбором этой константы.
Для дополнительного кода отрицательное число Z представим как
Z = -Х = (10n –Х) - 10n,
где Z <0, Х>0, n – величина разрядной сетки, а 10n –Х – дополнительный код числа.
Для обратного кода отрицательное число Z представим как
Z = -Х = (10n – 1 - Х) - 10n +1,
где Z <0, Х>0, n – величина разрядной сетки, а 10n – 1 - Х – обратный код числа.
Пример.
Для положительного числа прямой, обратный и дополнительный коды будут одинаковыми. Для числа +31→Ап =Ао =Ад =0000 0000 0001 11112.
Для числа -31→ Ап =1000 0000 0001 11112.
Для построения дополнительного кода выбираем константу 1015= 1000 0000 0000 0000 и получаем Ад =1111 1111 1110 00012.
Общие правила образования двоичных машинных кодов:
-положительное число в прямом,
обратном и дополнительном
-прямой код отрицательных и
положительных чисел имеет
-обратный код отрицательного числа получается из прямого кода путем инверсии, т.е. замены 1 на 0 и всех 0 на 1, кроме знакового разряда;
-дополнительный код
-дополнительный код
Обычно в компьютере числа в естественной форме записи хранятся в дополнительном коде, а числа в нормальной форме хранятся в прямом коде. Обратный код применяется для получения дополнительного кода.
Сложение двоичных чисел осуществляется в соответствии с таблицей сложения
a |
b |
Перенос С1 | |
0 |
0 |
0 |
|
1 |
0 |
1 |
|
0 |
1 |
1 |
|
1 |
1 |
0 |
1 |
Пример.
101 + 10 = 111. Проверка 5+2 = 7
1010 + 11 = 1101. Проверка 10+3 = 13
11010 + 1100 = 100110. Проверка 26+12 = 38.
Пример.
Заданы два десятичных числа А = 126 и В = 267. Найти сумму этих чисел при разных знаках.
А = 12610 = 7Е16 = 111 11102 В = 26710 =10В16 = 1 0000 10112.
В естественной форме и формате Н (16бит) прямой и дополнительный коды этих чисел имеют вид:
Ап = 0.00 0000 0111 1110 Вп = 0.000 0001 0000 1011
-Ад = 1.111 1111 1000 0010 -Вд = 1.111 1110 1111 0101
А+В = Ап + Вп = 0.000 0000 0111 1110
0.000 0001 0000 1011
0.000 0001 1000 1001
Для вычитания можно использовать операцию сложения и дополнительный код отрицательного числа. Дополнительный код отрицательного числа – это такое число, которое в сумме с исходным числом дает 1.
Найти дополнительный код двоичного числа Ап = 010 110 110 101 (= 101 001 001 011). Проверить, что å= Ап +Ад =1.
А-В = Ап + (-Вд) = 0.000 0000 0111 1110
1.111 1110 1111 0101
1.111 1111 0111 0011
Проверка:
А+В = 39310 = 18916 = 0.000 0001 1000 1001
А-В = -14110= -8D16 = 1.111 1111 0111 00112.
Пример.
7-3 = 4 12-5 = 7
0111 710 1100 1210
0011 310 0101
1100 Обратный код числа 3 1010
+1101 Дополнительный код числа 3 +1011
0100 410 10111 710
При выполнении двоичного умножения частичное произведение сдвигается на один разряд влево при обработке каждого следующего разряда множителя.
Пример.
5×3 =15 55 =25 5×10 = 50
101 101 101
11 101 1010
101 101 000
101 000 101
1111 101 000
11001 101
110010
Операция двоичного деления выполняется методом, который применяется в десятичной системе.
14:4 = 3,5 11,12
1110,0 1410
100 410
110
100
100
100
0
Необходимость изучения основ математической логики вызывается тем, что она является составной частью теории проектирования ЭВМ и системного анализа объектов или процессов. Функционирование различных компонентов вычислительных машин может быть описано с помощью логических функций и законов математической логики. Кроме того, современные языки программирования включают в себя встроенные логические функции.
Алгебра логики – это раздел математической логики, значения всех элементов (функций и аргументов) которой определены в двухэлементном множестве: 0 и 1. Алгебра логики оперирует с логическими высказываниями.
Высказывание – это любое предложение, в отношении которого имеет смысл утверждение о его истинности или ложности. При этом считается, что высказывание удовлетворяет закону исключенного третьего, т.е. каждое высказывание или истинно, или ложно и не может быть одновременно и истинным и ложным.
В алгебре логики все высказывания обозначаются буквами a, b, c, d и т.д. В дальнейшем над ними можно производить любые действия, предусмотренные данной алгеброй. Причем если над исходными элементами алгебры выполнены некоторые разрешенные в алгебре логики операции, то результаты операций также будут элементами этой алгебры.
Математическая логика – это наука о методах рассуждений, при которых человек отвлекается от содержания рассуждений, а использует только их форму и значение.
Алгебра логики содержит следующие операции, позволяющие производить тождественные преобразования логических выражений:
Основные и дополнительные законы алгебры логики.
а+а=а
а•а=а
а+в=в+а
а•в=в•а
а+(в+с)=(а+в)+с
а•(в•с)=(а•в) •с
а•(в+с)=а•в+а•с
а+в•с=(а+в)•(а+с)
=а
а+а•в=а
а•(а+)=а
а+0=а, а+1=1, а•0=0, а•1=а
=1, +а=1, =0, •а=0.
а•в+ •в=в
(а+в)•( +в)=в
а+ •в=а+в
а•в+ •с+в•с= а•в+ •с
В математической логике используются только логические переменные, которые принимают значения 0 («ложь») и 1 (истина).
Функции, которые используют логические переменные, называются логическими. Значения любой логической функции могут принимать значения только 0 и 1. Количество различных наборов, которые могут быть образованы N переменными равно 2. Следовательно, количество различных функций от N переменных будет равно . И так как количество логических переменных равно 2 (0 или1), то количество функций равно 16. Основными логическими функциями являются:
Значение каждой логической функции описывается таблицей истинности, которая устанавливает соответствие между возможными значениями наборов переменных и значениями функции. Рассмотрим таблицы истинности перечисленных выше логических функций.
Логическое сложение а+b или дизъюнкция а Ú b. Дизъюнкция двух слагаемых ложна тогда и только тогда, когда ложны оба слагаемых. Таблица истинности имеет вид
а b |
a+b |
0 0 |
0 |
0 1 |
1 |
1 0 |
1 |
1 1 |
1 |
Логическое умножение a•b или конъюнкция a Ù b. Конъюнкция двух сомножителей истинна тогда и только тогда, когда истинны оба сомножителя. Таблица истинности имеет вид
а b |
a•b |
0 0 |
0 |
0 1 |
0 |
1 0 |
0 |
1 1 |
1 |
Отрицание - инверсия. Запись читается как «не а». Отрицание лжи есть истина, отрицание истины есть ложь.
Таблица истинности имеет вид
а |
|
0 |
1 |
1 |
0 |
Импликация или функция следования. Запись a ® b читается как a импликация b или из a следует b. Запись a ¬ b читается как b импликация a или из b следует a. Для функции импликации из лжи следует все, что угодно, а из истины только истина. Таблица истинности левой импликации имеет вид
а b |
a ® b |
0 0 |
1 |
0 1 |
1 |
1 0 |
0 |
1 1 |
1 |
Выражение для импликации можно записать в виде a ® b = + b.
Таблица истинности правой импликации имеет вид
а b |
a ¬ b |
0 0 |
1 |
0 1 |
0 |
1 0 |
1 |
1 1 |
1 |
Выражение для импликации можно записать в виде a ¬ b = a + .
Сложение по модулю 2.
Запись читается как a плюс по модулю 2 b. Функция сложения по модулю 2 истинна тогда и только тогда, когда значения переменных различны.