![]() Поиск: Рекомендуем: ![]() ![]() ![]() ![]() Категории: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Алгоритмы и аппаратное обеспечение операции в АЛУ1. операции над числами с фиксированной точкой. 1)
недостаток – задержка переноса. Знаковый разряд учавствует в операции сложения аналогично всем остальным разрядам. Пример: 0 0101 + 0 0110 0 1011 вычитание: если нужно выполнить вычитание, то его заменяют сложением с инверсным кодом числа В*. С:=А-В , А>0, В>0. C:=А+(-В)=А+В*. Инверсный код может быть обратным и дополнительным. Любой инверсный код положительного числа совпадает с его прямым кодом. А=0 0101 Аобр=Адоп=0 0101 Обратный код отрицательного числа получается из его прямого кода инвертированием всех разрядов за исключением знакового. (10101)обр=11010 -5 Дополнительный код отрицательного числа получается прибавлением 1 к его обратному коду. (10101)обр=11011 ïВдопï=1-ïВï Дополнительный код отрицательного числа можно получить из прямого следующим образом: - проинвертировать все разряды, кроме знакового, к младшему разряду добавить 1(можно прибавлять при суммировании чисел как единичный перенос в младший разряд сумматора): 1 101000 1 01011 +
- знаковый разряд оставить без изменения, все информационные разряды, начиная с младшего до первого включительно, оставить без изменения, остальные разряды проинвертировать.
1 101000 правило: если оба складываемых числа представить в обратных(доп.) кодах, то и сумма получится в обратном (доп.) коде. Пример: +6 +5 0 0110 - 0 0101 (0 0110)обр=0 0110 (1 10101)обр=1 1010
0 0110 + 1 1010
при сложении в обратных кодах перенос из старшего знакового разряда замыкается на младший разряд. При сложении в дополнительных кодах этот перенос теряется. Дата добавления: 2015-02-12; просмотров: 494 | Нарушение авторских прав | Изречения для студентов Читайте также:
Рекомендуемый контект: Поиск на сайте:
|