46831 (597302), страница 3
Текст из файла (страница 3)
Рассмотрим 4 – разрядный дополнительный код. Старший разряд отводится под знак числа: 0 – соответствует положительному числу, 1 – отрицательному. Три разряда отводятся абсолютной величине числа. В табл. 15.7 приведен 4 – разрядный дополнительный код чисел от +7 до –8.
Таблица 15.7. Представление двоичных чисел со знаком.
Из табл. 15.7 видно, что дополнительный код положительных чисел совпадает с обычным представлением двоичного числа. Для получения дополнительного кода отрицательного числа нужно сначала сформировать дополнение этого числа до 1, а затем прибавить 1. На рис. 15.23 показана процедура получения дополнительного кода отрицательного числа.
Рис. 15.23. Пример преобразования числа со знаком в дополнительный код
Эта процедура состоит из трех шагов:
1) десятичное число преобразуется к его двоичному эквиваленту соответствующего положительного числа;
2) находится дополнение полученного двоичного числа до 1, путем замены всех единиц на нули и всех нулей на единицы;
3) к полученному дополнению до 1 прибавляется 1. В результате сложения получаем дополнительный код числа.
Процедура перехода от дополнительного кода к двоичному числу, по которому затем определяется десятичное число, показано на рис. 15.24. Обратное преобразование выполняется следующим образом:
1) находим дополнение до 1 для исходного дополнительного кода, путем замены всех единиц на нули и всех нулей на единицы;
к полученному дополнению до 1 прибавляется 1 путем двоичного сложения. В результате получаем искомое двоичное число, но поскольку в старшем разряде дополнительного кода стоит 1, соответствующее десятичное число является отрицательным.
Рис. 15.24. Пример преобразования дополнительного кода в двоичное число
Рассмотрим примеры на сложение и вычитание чисел, представленных в дополнительном коде (рис. 15.25).
Рис. 15.25. Примеры сложения и вычитания чисел в дополнительном коде
Из рис. 15.25 можно сделать выводы, что сложение чисел, представленных в дополнительном коде, осуществляется обычным способом, за исключением случая, когда в результате получается 5 – разрядная комбинация. В этом случае самый старший разряд отбрасывается и остается дополнительный код суммы.
При вычитании, вычитаемое представляется в дополнительном коде. Далее образуется дополнение до 2 полученного дополнительного кода. При получении 5 – разрядной комбинации самый старший разряд отбрасывается.
Сложение и вычитание чисел, представленных в дополнительном коде, можно осуществить с использованием сумматоров.
Рассмотрим схему 3-разрядного сумматора – вычитателя, работающего с числами, представленными в дополнительном коде (рис. 15.26).
Рис. 15.26. Структурная схема 3-разрядного сумматора – вычитателя чисел в дополнительном коде
Для сложения и вычитания двух чисел, представленных в 3-разрядном дополнительном коде, используется три полных сумматора. Для задания режима работы устройства на входе В каждого сумматора введем элемент исключающее ИЛИ. При подаче логического 0 устройство складывает двоичные комбинации и
. На выходе отображается дополнительный код сумы. При этом уровень логического 0 поступает на вход
полного сумматора разряда единиц, т. е. этот сумматор работает как обычный двоичный сумматор.
Для выполнения операции вычитания чисел, представленных в дополнительном коде, на управляющем входе задания режима устанавливается уровень логической 1. В этом случае элементы исключающее ИЛИ инвертируют информационные сигналы, поступающие на входы В. На входе полного сумматора разряда единиц устанавливается высокий уровень сигнала. Инвертирование информационных сигналов элементами исключающее ИЛИ с прибавлением 1 на входе
сумматора единиц соответствует дополнению до 1 дополнительного кода вычитаемого и последующему сложению с 1 младшего разряда. Это эквивалентно дополнению до 2 дополнительного кода вычитаемого
. В результате этих действий на выходе отображается дополнительный код разности.