Вычитание двоичных кодов
Схемотехническая реализация устройства для выполнения операции вычитания сложнее, чем для выполнения операции сложения, поэтому в цифровых вычислительных устройствах заменяют вычитание сложением по формуле (A – B) = A + (–B). Очевидно, что в этом случае также следует использовать инверсные коды, поскольку в прямых кодах сложение выполняется нетривиально.
Для выполнения операции вычитания над числами с плавающей запятой на первом этапе необходимо уравнять порядки операндов. При этом возможны те же сложности с переполнением сумматора порядков, что и при сложении.
Сложение мантисс выполняется следующим образом. Вначале у мантиссы вычитаемого необходимо изменить знак на противоположный. Поскольку вычитание удобнее выполнять в инверсных кодах, то для изменения знака вычитаемого на противоположный следует инвертировать все разряды вычитаемого (включая знак). При этом разряды вычитаемого будут содержать обратный код (–В). Для получения дополнительного кода к младшему разряду инвертированной мантиссы вычитаемого следует прибавить 1.
При суммировании мантисс возможна денормализация результата вправо и переполнение сумматора мантисс в случае вычитания чисел с разными знаками. Действия по устранению переполнения и денормализации такие же, как и в случае выполнения операции сложения.
Дата добавления: 2014-12-27; просмотров: 1035;