Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Вычитание двоичных чисел со знаком j




Здесь все несколько сложнее. Последний пример показал то, что Микропро­
цессору незачем иметь два устройства — сложения и вычитания. Достаточно на­
личия только одного — устройства сложения. Но для вычитания способом сло­
жения чисел со знаком в дополнительном коде необходимо представлять оба;
операнда — и уменьшаемое, и вычитаемое. Результат тоже нужно рассматривать *
как значение в дополнительном коде. Но здесь возникают сложности. Прежде t
всего, они связаны с тем, что старший бит операнда рассматривается как знако- ^
вый. Рассмотрим пример вычитания 45 — (-127). j j

Пример 8.7. Вычитание чисел со знаком 1 :,:;. •--,. j

45 - 0010 1101:.ф. ':

-127 = 1000 0001 ' • •. '• Г;

-44 = 1010 И1100..•..'.

Судя по знаковому разряду, результат получился отрицательный, что, в свою оче­редь, говорит о том, что число нужно рассматривать как дополнение, равное

-44. Правильный результат должен быть ранен 172, Здесь мы, как и в случае знакового сложения, встретились с переполнением мантиссы, когда значащий раз­ряд числа изменил знаковый разряд операнда. Отследить такую ситуацию можно по

содержимому флага переполнения of. Его установка в 1 говорит о том, что ре­зультат вышел за диапазон представления знаковых чисел (то есть изменился старший бит) для операнда данного размера, и программист должен предусмот­реть действия по корректировке результата.

Дпругой пример разности рассматривается в примере 8.8, но выполним мы ее
способом сложения.

 

Пример 8.8. Вычитание чисел со знаком 2.;,"' •.'-':" >.-

-45 - 45 = -45 -г+ (-45)= -90.., '. '.' „' " ' -

-415 = 1101 ОО0011Н...,.,

 

+..,...•,,.;,.

-45 = 1101 ООН0011,.. ' ',.',,.':'; ''.'.

-90 = Ю10 ОНО •-•:•-• ":.•'.,.."•1010 0110

Здесь все нормально, флаг переполнения of сброшен в 0, а 1 в знаковом разряде говорит о том, что значение результата — число в дополнительном коде.

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных