Двоичные сумматоры Правила выполнения арифметических операций
Арифметические действия (операции) относятся к числу наиболее распространенных операций, выполняемых цифровыми устройствами (ЦУ).
Правила выполнения арифметических операций над двоичными числами аналогичны соответствующим правилам десятичной арифметики и сведены в табл.1.
Таблица 1 - Правила и примеры выполнения арифметических операций над двоичными числами.
Двоичное сложение
Слагаемые к-го разряда |
Сумма к-го разряда |
Перенос в к+1-й разряд |
|
Пример |
0 + 0 = 0 |
0 |
|
1100 – перенос |
|
0 + 1 = 1 |
0 |
+ |
1101 – 1-е слагаемое |
|
1 + 0 = 1 |
0 |
1100 – 2-е слагаемое |
||
1 + 1 = 0 |
1 |
|
11001 – сумма |
|
Двоичное вычитание
-
Уменьшаемое к-го разряда
Вычитаемое к-го разряда
Разность к-го разряда
Заем из в к+1-й разряда
Пример
0 - 0 = 0
0
010 – заем
0 - 1 = 1
1
1101 – уменьшаемое
1 - 0 = 1
0
1010 – вычитаемое
1 - 1 = 0
0
0011 – разность
Двоичное умножение
-
Множимое к-го разряда
Множитель к-го разряда
Произведение к-го разряда
Пример
0 х 0 = 0
х
1010 – множимое
101 – множитель
0 х 1 = 0
1 х 0 = 0
1 х 1 = 1
+
+
1010
0000
1010
110010 – произведение
Д
воичное
деление
Делимое Делитель Частное Пример
к-го разряда к-го разряда к-го разряда
0 : 0 = ?
0 : 1 = 0
1 : 0 = ?
1 : 1 = 1
Для выполнения арифметических операций над двоичными числами со знаком вводят дополнительный (знаковый) разряд, который указывает, является ли число положительным или отрицательным. Если число положительное, в знаковый разряд проставляется символ 0, если же число – отрицательное, то в знаковый разряд проставляется символ 1. Например, число (+ 5) с учетом знакового разряда (отделяется точкой) запишется как 0.101, а число (-3) – как 1.011.
При сложении чисел с одинаковыми знаками числа складываются и сумме присваивается код знака слагаемых, например
Несколько усложняется операция сложения чисел с разными знаками (алгебраическое сложение), что равносильно вычитанию чисел. В этом случае необходимо определить большее по модулю число, произвести вычитание и присвоить разности знак большего (по модулю) числа.
Для упрощения выполнения этой операции слагаемые представляются в обратном или дополнительном кодах поскольку известно, что операция вычитания (алгебраического сложения) сводится к операции простого арифметического сложения двоичных чисел, представленных в обратном или дополнительном кодах. Положительные числа в прямом, обратном и дополнительном кодах имеют один и тот же вид, а отрицательные – различный.
Чтобы представить отрицательное двоичное число в обратном коде, надо поставить в знаковый разряд 1, а во всех остальных разрядах прямого кода заменить единицы нулями, а нули – единицами, т.е. проинвертировать число.
При записи отрицательного двоичного числа в дополнительном коде, надо поставить 1 в знаковый разряд, а остальные разряды получить из обратного кода числа, прибавлением 1 к младшему разряду.
Приведем примеры записи двоичных чисел со знаками в прямом, обратном и дополнительном кодах.
Число Прямой код Обратный код Дополнительный код
+6 0.110 0.110 0.110
-5 1.101 1.010 1.011
-11 1.1011 1.0100 1.0101
Поясним процедуру вычитания чисел 5 и 3, и 3 и 5. Последовательность и взаимосвязь операций представлена в табл. 2.
Таблица 2
Из приведенных примеров следует, что при использовании обратного кода в устройстве, обеспечивающем суммирование многоразрядных двоичных чисел – двоичном сумматоре, необходимо предусмотреть цепь циклического переноса. В случае использования дополнительного кода эта цепь отсутствует.
Из приведенного выше можно сделать следующее заключение. В ЦУ (в компьютере, в частности) нет надобности использовать два специализированных вычислительных устройства, одно из которых – двоичный сумматор, а другое – двоичный вычитатель. Оказывается, что применение простого математического «трюка» (представление двоичных чисел в обратном или дополнительном коде) позволяет приспособить двоичный сумматор для выполнения, как операций сложения двоичных чисел, так и операций их вычитания.
Более того, с помощью двоичного сумматора можно обеспечить также выполнение и операций умножения и деления двоичных чисел (т.е. всех четырех арифметических действий), поскольку умножение представляет собой последовательное сложение, а деление – последовательное вычитание. Примеры выполнения этих операций приведены в табл. 3.
Таблица 3
