- •2. Функция и-не. Реализация функций и, или, не с помощью элементов и-не.
- •3. Теорема идемпотентности.
- •4. Определение дополнения функции
- •6. Представление булевых функций с помощью карт Карно
- •2.7. Упрощение булевых функций
- •2.9. Термы, «не доставляющие беспокойства»
- •7. Реализация дизъюнктивных нормальных форм с помощью элементов и-не
- •9. Полусумматор
- •4.3. Полный сумматор
- •4.4 Четырехразрядный сумматор параллельного действия
- •10. Дополнительный код
- •4.8. Обратный код
- •4.9. Двоичное представление чисел
- •4.11. Двоичное умножение
- •11. Преобразователь из двоичного кода в код Грея
- •12. Определение.
10. Дополнительный код
Для n-разрядного двоичного числа дополнительный код определяем следующим образом:
где N* - дополнительный код N; N – число, дополнительный код которого ищем; n - число цифр в N. Если N = 1011, то
N* = 24 - 1011=10 000 – 1011 = 00101.
С другой стороны, дополнительный код числа может быть найден так: берем отрицания всех двоичных цифр числа и к минимальному значащему разряду добавляем 1.
Для двоичного числа 1011 эта процедура дает
0100 – инверсия всех цифр
1 – добавление 1 к минимально значащему разряду
-----
0101
Допустим также любой другой метод для нахождения дополнительного кода числа. Например, можно предложить такой метод. Ищем первую справа 1 в числе. Все цифры, стоящие слева от этой 1, преобразовываем, а цифры справа, включая 1, не меняем.
Дополнительный код иногда называется дополнением по основанию 2, так как 2 – это основание двоичной системы исчисления.
4.8. Обратный код
Обратный код, или уменьшенное дополнение по основанию, определяем так:
N** = (2n - 1) – N ,
где N** - обратный код числа N. Для двоичного числа 1011
N** = (10 000 - 1) – 1011 = 0100 .
Простейший метод определения кода заключается в инвертировании всех двоичных цифр данного числа.
4.9. Двоичное представление чисел
В ЭВМ двоичное число может быть представлено одним из следующих трех способов:
а) в прямом коде;
б) в дополнительном коде;
в) в обратном коде.
В каждом из этих трех случаев для представления знака числа используют двоичный сигнал: 0 – для положительных чисел, 1 – для отрицательных. Знаковый бит размещают на левом конце числа и отделяют от числовой части запятой.
Характеризуя первый способ представления двоичных чисел в ЭВМ, следует сказать, что в самом левом разряде хранится знак, а остальные биты представляют модуль числ в двоичной форме. Например,
+ 13 = 0,1101 и - 13 = 1,1101.
Проектирование логических схем, выполняющих арифметические операции с двоичнами числами, представленными в прямом коде, достаточно трудоемко. Поэтому чаще используют представление в дополнительном или в обратном коде.
В дополнительном коде положительные числа представляют так: слева - знаковый бит, значение которого равно 0, справа - модуль числа в двоичной форме. Что касается отрицательных чисел, то для них действует следующее правило: слева - знаковый бит, значение которого равно 1, справа - модуль числа в дополнительном коде. Следовательно,
+ 13 = 0,1101
и
- 13 = 1,0011.
Аналогично, в обратном коде положительные числа представляют так же, как и в дополнительном, а отрицательные - в виде обратного кода модуля числа, слева от которого расположен знаковый бит. Например,
+ 13 = 0,1101
и
- 13 = 1,0010.
4.10. Использование дополнительного кода для сложения и вычитания чисел
Сложение производится всегда одинаково, независимо от того, какие числа, положительные или отрицательные, участвуют в операции. Знаковые биты принимают участие в операции, а перенос из знакового ряда игнорируется. Если результат сложения положительный, то в знаковом бите 0, а модуль числа выражается в прямом коде. Если же результат сложения отрицательный, в знаковом разряде 1, а абсолютная величина числа выражается в дополнительном коде. Это проиллюстрировано на примерах, приведенных на рис. 4.7, а. В качестве слагаемых использованы положительные и отрицательные числа, абсолютные величины которых равны, соответственно, 5 и 7.
На рис. 4.7, б изображено устройство, предназначенное как для сложения, так и для вычитания чисел, представленных в дополнительном коде. Число А3А2А1А0 будет первым слагаемым при выполнении операции сложения, и уменьшаемым при вычитании, в то время как число В3В2В1В0 будет вторым слагаемым и вычитаемым, соответственно, для сложения и вычитания. Для реализации схемы необходимо иметь пять полных сумматоров, причем сумматор FA4 используется для сложения знаковых разрядов А4 и В4. Управляемые инверторы, реализованные на схемах ИСКЛЮЧАЮЩЕЕ ИЛИ, используются для инвертирования цифр В3В2В1В0 в том случае, когда М = 1, т. е. тогда, когда необходимо осуществить вычитание. Сигнал М также подается на вход, формирующий функцию переноса сумматора для наименьших значащих разрядов чисел. Когда М = 0, то C-1 = 0 и FA0 работает как полусумматор; однако, когда М = 1, C-1 = 1 и единица добавляется к наименьшему значащему разряду обратного кода числа, формируя тем самым дополнительный код.
