При выполнении любой операции результат ищется согласно соответствующим правилам, которые удобно представлять в табличной форме, где для всех возможных комбинаций значений одноразрядных операндов приводятся значения результата.
Правила сложения в двоичной системе счисления
+ | 0 | 1 |
0 | 0 | 1 |
1 | 1 | 0 * |
Все возможные значения первого слагаемого задаются во второй и третьей строках первой колонки; все возможные значения второго слагаемого – во второй и третьей колонках первой строки. На пересечении отмеченных значениями операндов строк и колонок располагается результат их сложения. В таблице знаком «*» отмечен случай, когда в текущем разряде результата получен ноль и имеет место перенос в ближайший старший разряд.
Пример
В общем случае при формировании значения в текущем разряде результата приходится дважды применять приведенную таблицу сложения: первый раз при сложении соответствующих разрядов операндов, формируя так называемую поразрядную сумму, и второй раз – при сложении разряда сформированной поразрядной суммы и переноса, пришедшего из ближайшего младшего разряда.
|
|
При машинной реализации операции сложения сначала формируется поразрядная сумма операндов без учета переноса, далее формируется код переноса и затем с помощью специальных логических цепей учитываются возникшие переносы. При этом перенос, возникший в некотором разряде, может изменить не только ближайший старший разряд, но и целую группу старших разрядов. В худшем случае перенос, возникший в самом младшем разряде, может изменить значение старших разрядов сформированной поразрядной суммы вплоть до самого старшего.
При формировании поразрядной суммы и учете возникших переносов используется следующая классификация разрядов складываемых операндов:
- разряд, генерирующий перенос (оба операнда в этом разряде имеют «1»);
- разряд, пропускающий перенос (операнды в этом разряде имеют разные значения);
- разряд, блокирующий распространение переноса (операнды в этом разряде имеют одинаковые значения).
Тема «Операция вычитания в двоичной системе счисления»
Правила вычитания в двоичной системе счисления
– | 0 | 1 |
0 | 0 | 1 |
1 | 1 * | 0 |
Все возможные значения вычитаемого задаются во второй и третьей строках первой колонки; все возможные значения уменьшаемого – во второй и третьей колонках первой строки. На пересечении отмеченных значениями операндов строк и колонок располагается результат вычитания второго операнда из первого. В таблице знаком «*» отмечен случай, когда в текущем разряде результата получена единица при займе из ближайшего старшего разряда.
|
|
Пример
Как видно из таблицы и приведенного примера, реализация операции вычитания не сложнее операции сложения.
В ЭВМ никогда в перечне выполняемых операций арифметического устройства не присутствует одновременно операция сложения и операция вычитания. При этом, как правило, присутствует только операции сложения. Что же касается операции вычитания, то она реализуется за счет прибавления к уменьшаемому значения вычитаемого, взятого с противоположным знаком.