Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

III способ – умножение со старших разрядов множителя со сдвигом суммы частичных произведений влево



Этот способ требует двух n–разрядных регистров множителя и множимого и одного 2n-разрядного регистра суммы частичных произведений. На схеме видно, что суммирование множимого следует выполнять в младшие n разрядов регистра суммы частичных произведений.

Особенность III способа - в последнем такте не следует выполнять сдвиг в регистре суммы частичных произведений.

IV способ – умножение со старших разрядов множителя со сдвигом множимого вправоЭтот способ требует одного n–разрядного регистра множителя и двух 2n-разрядных регистров множимого и суммы частичных произведений. Причем, первоначально множимое помещается в старшие разряды регистра, а затем в каждом такте сдвигается на один разряд вправо.

Особенность IV способа - перед началом цикла умножения следует множимое сдвинуть на один разряд вправо.

Все приведенные выше четыре способа используются как в алгоритмах умножения в прямом коде (ПК), так и в алгоритмах умножения в дополнительном коде (ДК), как при умножении чисел с фиксированной запятой (ФЗ), так и при умножении мантисс чисел с плавающей запятой (ПЗ).

Алгоритм умножения двоичных чисел с ФЗ в прямом коде:

1. Определить знак произведения путем сложения по модулю два знаковых разрядов сомножителей.

2. Перемножить модули сомножителей одним из четырех способов.

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

Пример 4.Перемножить числа А=26(10)=11010(2); В=-19(10)=-10011(2), представив их в 2СС, ПК, с ФЗ.

М=25 А=0,11010
В=1,10011

1. Знак произведения: 0Å1=1.

2. Перемножим модули сомножителей I способом. Пусть В=0,10011 – модуль множимого. Таблица

       
   


Множитель

  Сумма ЧП Пояснения
  0,11010   0,0000000000  
0,01101 0,0000000000 Сдвиги
  0,10011  
  0,1001100000 0,0100110000 0,0010011000 Сложение
0,00110 Сдвиги
0,00011 Сдвиги
  0,10011  
  0,1011111000 Сложение
  0,0101111100 Сдвиги
0,00001 0,10011  
  0,1111011100 0,0111101110 Сложение
0,00000 Сдвиги

 

3. Прямой код произведения:

А×В=1,0111101110.

4. Проверка результата. Масштаб произведения МА×МВ=210.

А×В=-111101110(2)=-494(10).

Алгоритм умножения двоичных чисел с ФЗ в ДК с простой коррекцией:

1. Определить знак произведения путем сложения по модулю два знаковых разрядов сомножителей.

2. Перемножить модули сомножителей, представленных в ДК, одним из четырех способов – получить псевдопроизведение.

3. Если хотя бы один из сомножителей отрицателен, выполнить коррекцию по следующим правилам:

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

-если оба сомножителя отрицательны, к псевдопроизаведению прибавляются дополнительные коды от модулей дополнительных кодов обоих сомножителей, т.е. их прямые коды.

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

Пример 5. Перемножить числа А=-18(10)=-10010(2); В=27(10)=11011(2), представив их в ДК и применив алгоритм с простой коррекцией.

М=25 АПК =1,10010 АДК =1,01110
ВПК =0,11011 ВДК =0,11011

1. Знак произведения: 1Å0=1.

2. Перемножить модули сомножителей, используя II способ.

Таблица

       
   


Множитель

  Множимое Сумма ЧП Пояснения
  0,01110   0,0000011011   0,0000000000 Сдвиги
0,00111 0,0000110110 0,0000110110  
0,00011 0,0001101100 0,0000110110 Сложение
0,0001101100 Сдвиги
0,00001 0,0011011000 0,0010100010 Сложение
0,0011011000 Сдвиги
0,00000 0,011011000 0,0101111010 Сложение
      Сдвиги
0,00000 0,1101100000   Сдвиги

 

Получено псевдопроизведение: 0,0101111010

 

3. Так как один из сомножителей отрицателен, нужна коррекция дополнительным кодом от модуля положительного сомножителя:

 

ВДК=0,00101 0,0101111010
  0,00101
Модуль произведения 0,1000011010

 

4. Полное произведение в дополнительном коде:

(А×В)ДК=1,1000011010.

5. Проверка результата. Масштаб произведения МА×МВ=210.

(А×В)ПК=1,0111100110 (х210).

А×В=-111100110(2)=-486(10).

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.