Различают прямой код (П), обратный код (ОК) и дополнительный код (ДК) двоичных чисел.
Прямой коддвоичного числа образуется из абсолютного значения этого числа и кода знака (нуль или единица) перед его старшим числовым разрядом.
Пример 1. А10=+10 А2 =+1010 [A2]п= 0|1010
B10=-15 B2 = -1111 [B2]п= 1|1111
Вертикальной линией здесь отмечена условная граница, отделяющая знаковый разряд от значащих.
Обратный коддвоичного числа образуется по следующему правилу.
Обратный код положительных чисел совпадает с их прямым кодом.
Обратный код отрицательного числа содержит единицу в знаковом разряде числа, а значащие разряды числа заменяются на инверсные, т.е. нули заменяются единицами, а единицы – нулями.
Дополнительный кодположительных чисел совпадает с их прямым кодом. Дополнительный код отрицательного числа представляет собой результат суммирования обратного кода числа с единицей младшего разряда (2° – для целых чисел, 2-к – для дробных).
Сложение (вычитание). Операция вычитания приводится к операции сложения путем преобразования чисел в обратный или дополнительный код. Пусть числа А>=О и В>=О, тогда операция алгебраического сложения выполняется в соответствии с табл.
Умножение. Умножение двоичных чисел наиболее просто реализуется в прямом коде. Рассмотрим, каким образом оно приводится к операциям сложения и сдвигам.
Операция деления, как и в десятичной арифметике, является обратной операции умножения. Покажем, что и эта операция приводится к последовательности операций сложения и сдвига.
7. Алгебра логики. Булевы функции, способы задания
Алгебра логики –устанавливает основные законы формирования и преобразования логических функций. Она позволяет представить любую сложную функцию в виде композиции простейших функций.
Существует несколько синонимов по отношению к функциям алгебры логики:
• функции алгебры логики (ФАЛ);
• переключательные функции;
• булевские функции;
• двоичные функции.
Вся информация в ЭВМ представляется в двоичной системе счисления. Поставим в соответствие входным сигналам отдельных устройств ЭВМ соответствующие значения хi, (i=1, n), а выходным сигналам – значения функций уj(j=1, m)
Зависимости
yj =f(x1, x1,…..xn),
где хi- i-й вход; n– число входов; уj– j– й выход; m – число выходов в устройстве, описывают алгоритм работы любого устройства ЭВМ.
Каждая такая зависимость yj, является «булевой функцией» (функцией алгебры логики) – число возможных состояний её и каждой её независимой переменной равно двум, а её аргументы определены на множестве {0,1}.
Способы представления ФАЛ
Словесный
При этом способе словесное описание однозначно определяет все случаи, при которых функция принимает значения 0 или 1. Например, многовходовая функция ИЛИ может иметь такое словесное описание: функция принимает значение 1, если хотя бы один из аргументов принимает значение 1, иначе – 0.
Числовой
Функция задается в виде десятичных (или восьмеричных, или шестнадцатиричных) эквивалентов номеров тех наборов аргументов, на которых функция принимает значение 1.
Условие, что функция f (x1, x2, x3) = 1 на наборах 1,3,5,6,7 записывается f (1, 3, 5, 6, 7) = 1.
Аналогичным образом булева функция может быть задана по нулевым значениям.
При нумерации наборов переменным x1, x2, x3 ставится в соответствие веса 22, 21, 20, т.е. 6 набору соответствует двоичный эквивалент 110, а 1 набору – 001.
Табличный
Функция задается в виде таблицы истинности(соответствия), которая содержит 2n строк (по числу наборов аргументов), n столбцов по числу переменных и один столбец значений функции. В такой таблице каждому набору аргументов соответствует значение функции.
Аналитический
Функция задается в виде алгебраического выражения, получаемого путем применения каких-либо логических операций к переменным алгебры логики. применяя операции конъюнкции и дизъюнкции можно задать функцию выражением f (x1, x2, x3) = x1x2 v x3.
Координатный
При этом способе задания таблица истинности функции представляется в виде координатной карты состояний, которая часто называется картой Карно. Такая карта содержит 2n клеток по числу наборов всевозможных значений n переменных функции. Переменные функции разбиваются на две группы так, что одна группа определяет координаты столбца, а другая – координаты строки.
При такoм способе построения клетка определяется координатами переменных, соответствующих определенному двоичному набору.
Внутри клетки карты Карно ставится значение функции на данном наборе.
Переменные в строках и столбцах располагаются так, чтобы соседние клетки карты Карно различались только в одном разряде переменных, т.е. были соседними.
Такой способ представления очень удобен для наглядности при минимизации булевых функций.
Диаграмный
Является способом представления функционирования схемы, реализующей булеву функцию, во времени. Изображается в виде системы графиков, у которых ось Х соответствует автоматному времени (моментам времени), а ось Y соответствует напряжению дискретных уровней сигналов «логический 0» (0,4 в) и «логическая 1» (2,4 в).
Графический
Функция задается в виде n-мерного единичного куба, вершинам которого соответствуют наборы значений аргументов и приписаны значения функции на этих наборах. Куб назван единичным, так как каждое ребро соединяет вершины, наборы которых различаются только по одной переменной, т.е. являются соседними.
Такой способ задания булевых функций иногда называют геометрическим, но чаще всего кубическим. Кубическое представление наиболее пригодно для машинных методов анализа булевых функций, так как позволяет компактно представлять булевы функции от большого количества переменных.