Примеры умножения целых чисел в дополнительном коде по схеме а
Для сохранения результата при возможном переполнении разрядной сетки при задании множимого и формировании суммы частичных произведений в примерах используется модифицированный дополнительный код. Для задания знака множителя, как значения, непосредственно не используемого в операциях сложения/вычитания, используется обычный дополнительный код.
В примерах разряды суммы частичных произведений отделены от разрядов знака пробелом, а от разрядов множителя – вертикальной чертой.
Пример 1. Умножение целых чисел в модифицированном дополнительном коде по схеме а (умножение с младших разрядов множителя со сдвигом частичных произведений вправо).
А =–7(10) = 11,001(2) – множимое.
В = +5(10) = 0,101(2) – множитель
С – произведение.
Множимое А (3 бита) | Произведение С (4 бита) | Множитель В (3 бита) | Комментарии |
11,001 | 00,000 | ½0,101 | Исходное состояние. |
00,000 11,001 11,001 | ½0,10 1 | Анализ младшего бита множителя (1) и прибавление множимого к сумме частичных произведений | |
11,100 | 1½0,1 0 | Сквозной сдвиг суммы частичных произведений (с распространением знака) и множителя вправо на один разряд | |
11,100 00,000 11,100 | 1½0,1 0 | Анализ младшего бита множителя (0) и блокировка прибавления множимого к сумме частичных произведений. | |
11,110 | 01½0, 1 | Сквозной сдвиг суммы частичных произведений и множителя вправо на один разряд. | |
11,110 11,001 10,111 | 01½0, 1 | Анализ младшего бита множителя (1) и прибавление множимого к сумме частичных произведений | |
11,011 | 101½0, | Сквозной сдвиг суммы частичных произведений и множителя вправо на один разряд. | |
11,011 | 101½0, | Анализ младшего бита (знака) множителя (0) и блокировка прибавления множимого к сумме частичных произведений. |
Результат С = 11,011101(2) = – 35(10).
Пример 2. Умножение целых чисел в модифицированном дополнительном коде по схеме а (умножение с младших разрядов множителя со сдвигом частичных произведений вправо).
А =–7(10) = 00,111 – множимое.
В = –5(10) = 1,011 – множитель
С – произведение.
Множимое А (3 бита) | Произведение С (4 бита) | Множитель В (3 бита) | Комментарии |
11,001 | 00,000 | ½1,011 | Исходное состояние. |
00,000 11,001 11,001 | ½1,011 | Анализ младшего бита множителя (1) и прибавление множимого к сумме частичных произведений | |
11,100 | 1½1,01 | Сквозной сдвиг суммы частичных произведений (с распространением знака) и множителя вправо на один разряд | |
11,100 11,001 10,101 | 1½1,01 | Анализ младшего бита множителя (1) и прибавление множимого к сумме частичных произведений. | |
11,010 | 11½1,0 | Сквозной сдвиг суммы частичных произведений и множителя вправо на один разряд. | |
11,010 00,000 11,010 | 11½1,0 | Анализ младшего бита множителя (0) и блокировка прибавления множимого к сумме частичных произведений | |
11,101 | 011½1 | Сквозной сдвиг суммы частичных произведений и множителя вправо на один разряд. | |
11,101 00,111 00,100 | 011½1 | Умножение на разряд знака: анализ знака множителя (1) и вычитание множимого (прибавление в дополнительном коде) из суммы частичных произведений. |
Результат С = 00,100011(2) = + 35(10).
Блок схема алгоритма выполнения умножения целых чисел в модифицированном дополнительном коде по схеме а (умножение с младших разрядов множителя со сдвигом частных произведений вправо) представлена на рис. 5.5.
Дата добавления: 2022-02-05; просмотров: 289;