Курс лекций по вычислительной технике



         

Арифметические операции над двоичными числами в дополнительном коде 


           

 Основные правила сложения

     - в каждом разряде, кроме младшего, суммируются три цифры.

     - цифра выползающая за разрядную сетку отбрасывается

     - изменение знака при сложении чисел одинакового  знака  вызывает

переполнение (общее правило переполнения: есть перенос в знаковый  разряд, но нет переноса из знакового разряда или нет переноса в  знаковый разряд, но есть перенос из знакового разряда).

     - вычитание сводится к сложению с дополнительным кодом вычитаемого

        Операции умножения и деления.

     Основная особенность выполнения операций в двоичной системе счисления  заключаются в следующем: сдвиг числа относительно разрядной сетки означает умножение или деление на 2 сводится  к  последовательности

операций (что, впрочем, справедливо и для 10-тичной системы).

      

Наиболее просто выполнять умножение как поразрядное  действие: анализируются разряды множителя, начиная с младшего (или  старшего).

          Если разряд множителя = 1, то к частному  произведению  сдвинутому

вправо (или влево) прибавляется множимое.

          Если разряд множителя = 0, то частное произведению  просто сдвигается. Но это справедливо только для чисел в прямом коде.

Алгоритм Бута для умножения чисел в дополнительном коде.

1.                При умножении чисел в дополнительном коде число разрядов удваивается.

2.                Разрядность множимого удваивается за счёт знака.

3.                Множитель и сумма частных произведений сдвигаются вправо.

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

5.                Анализируется пара: младший разряд множителя и дополнительный разряд.

6.                Если они одинаковые, то сдвиг множителя с суммы вправо на один разряд; если 01, то множимое складывается с суммой; если 10, то множимое вычитается из суммы; затем сдвиг вправо.

     В настоящее время умножение выполняется посредством дерева сумматоров.

 Деление может выполнятся путём умножения на  обратную  величину делителя.




Содержание  Назад  Вперед