Читайте также:
|
|
АЛУ МП, служащие для выполнения арифметических и логических операций построен на двоичных сумматорах. Многоразрядные сумматоры состоят из последовательно соединенных одноразрядных двоичных сумматоров. Условное графическое изображение одноразрядного сумматора приведено на рис. 2-1.
Разряды суммируемых чисел | разряд суммы | ||
Перенос из предыдущего разряда | перенос в соседний старший разряд | ||
Рис. 2-1
Одноразрядный сумматор выполняет действия по следующим правилам (таблица 2-1):
Таблица 2-1
ai | bi | ni-1 | ci | pi |
Соединив последовательно несколько одноразрядных сумматора можно складывать n разрядные числа (рис. 2-2).
Рис. 2-2
Из приведенной схемы видно, что сумматор предназначен для действий только с положительными числами. Входов, где бы указывался знак числа, у него нет.
Поэтому операция вычитания в ЭВМ выполняется также как и операция сложения. Для того, чтобы результат сложения был бы эквивалентен вычитанию отрицательные числа записываются в специальном формате - дополнительном или обратном кодах.
При операциях с учетом знака число представляют в специальном формате - один разряд (старший) выделяют для знака (рис. 2-3). При 0 в знаковом разряде число положительно, при 1 - отрицательно.
Рис. 2-3
При записи числа в прямом коде в знаковом разряде ставится его знак, а само число записывается в естественной форме:
N = 13 А = 0. 1101
N = -13 А = 1. 1101
Обратный код двоичных чисел получается инвертированием всех разрядов числа в прямом коде, кроме знакового (т.е. значение каждого разряда заменяется на взаимно обратные: 0 на 1 и 1 на 0):
(1.a1 a2 a3...an)пк = (1. ... )ok
Пример:
+ 5 0.0101 - 5 0.1010
+ 4 0.0100 - 4 0.1011
+ 3 0.0011 - 3 0.1100
+ 2 0.0010 - 2 0.1101
+ 1 0.0001 - 1 0.1110
+ 0 0.0000 - 0 0.1111
два нуля +0 и -0
Дополнительный код двоичных чисел получается в два этапа. Вначале находится обратный код числа. Затем к младшему разряду добавляется 1.
N дк = N ок + 1 N = -1
+ 5 0.0101 - 5 0.1011
+ 4 0.0100 - 4 0.1100
+ 3 0.0011 - 3 0.1101
+ 2 0.0010 - 2 0.1110
+ 1 0.0001 - 1 0.1111
+ 0 0.0000 - 0 0.0000
один нуль +0 и -0
Положительные числа в прямом, обратном и дополнительном коде совпадают.
Дата добавления: 2015-07-21; просмотров: 97 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Двоично-десятичное представление чисел | | | Арифметические операции с отрицательными числами |