Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Алгоритмы умножения № 1



Реализация команды умножения чисел проводится путем пошагового сложения сдвигаемого значения множимого и частичной суммы при наличии ненулевого бита соответствующего разряда множителя. Существует большое множество различных алгоритмов умножения, но в данной лабораторной работе рассматриваются основные четыре типа.

1. Данный алгоритм характеризуется тем, что для множимого, множителя и частичной суммы используются регистры одной величины. Результат (произведение) при этом хранится в паре, соответствующей частичной сумме и множителя, которое постепенно заполняется нулями, при чем старшая часть хранится в регистре частичной суммы, а младшая - в регистре множителя.

Пусть А – множимое, В – множитель, D – частичная сумма.



Пример:

Пусть A = 610 = 01102 (множимое); B = 310 = 00112 (множитель);

D = 00002 (частичная сумма)

№ такта Действие Флаг [C]
       
  Сдвиг В вправо B = [0]001|1  
  [C] = 1, след. прибавляем множимое к частичной сумме D = D + A  
  Сдвиг D вправо D = [0]011|0  
  Сдвиг В вправо B = [0]000|1  
  [C] = 1, след. прибавляем множимое к частичной сумме D = D + A  
  Сдвиг D вправо D = [0]100|1  
  Сдвиг В вправо B = [1]000|0  
  Сдвиг D вправо D = [0]010|0  
  Сдвиг В вправо B = [0]100|0  
  Сдвиг D вправо D = [0]001|0  
  Сдвиг В вправо B = [0]010|0  
  Сдвиг D вправо D = [0]000|1  
  Сдвиг D влево D = 0|000[1]  

Результат в D:B: 0001: 0010. Нетрудно видеть, что 000100102 = 1810.





Дата публикования: 2014-11-03; Прочитано: 286 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...