Алгоритмы и аппаратное обеспечение операции в АЛУ

1. операции над числами с фиксированной точкой.

1) Алгоритмы и аппаратное обеспечение операции в АЛУ - student2.ru алгебраическое сложение:

недостаток – задержка переноса.

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

Пример:

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

+

Алгоритмы и аппаратное обеспечение операции в АЛУ - student2.ru 1 011000

- знаковый разряд оставить без изменения, все информационные разряды, начиная с младшего до первого включительно, оставить без изменения, остальные разряды проинвертировать.

1 101000

правило:

если оба складываемых числа представить в обратных(доп.) кодах, то и сумма получится в обратном (доп.) коде.

Пример:

+6 +5

0 0110 - 0 0101

(0 0110)обр=0 0110

(1 10101)обр=1 1010

0 0110

+

1 1010

Алгоритмы и аппаратное обеспечение операции в АЛУ - student2.ru 0 0000
+

Алгоритмы и аппаратное обеспечение операции в АЛУ - student2.ru 0 0001

при сложении в обратных кодах перенос из старшего знакового разряда замыкается на младший разряд. При сложении в дополнительных кодах этот перенос теряется.

Наши рекомендации