Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Tema_1_1_Lektsiya_1s.doc
Скачиваний:
2
Добавлен:
11.11.2019
Размер:
129.02 Кб
Скачать

Перший основний алгоритм множення

Використовує добуток Z=X*Y у вигляді

Z=X*Y=хn∙2-n∙Y+ хn-1∙2-n∙Y+…+ х2∙2-n∙Y+ х1∙2-n∙Y=

((…((0+ хn∙Y)∙2-1+ хn-1∙Y)∙2-1+…+x2∙Y)∙2-1+x1∙Y)∙2-1

Звідси слід, що добуток Z за допомогою рекурентної формули можна записати

де Z0 = 0; Zn = Z, Zi – сума часткових добутків.

Множення тут починається з молодших розрядів множника, на кожному кроці множення сума часткових добутків зсувається вправо, кількість кроків множення дорівнює n, останній крок закінчується зсувом. ГСА такого множення має вигляд

Рис.1. Перший алгоритм множення у прямому коді

xn* – цифра в молодшому розряді регістру множника РХ на даному кроці множення (“поточна” цифра множника)

СТК – лічильник числа кроків множення.

Довжина регістрів операндів складає n – розрядів, регістрів результату – 2n розрядів.

Приведемо цифрову діаграму станів регістрів при множенні чисел Х = 11/16 та Y = 9/16, n = 4 відповідно схемі алгоритму.

PX xn*

PY

PZ

СТК

Пояснення

1011

0101

0010

0001

0000

1001

+

00000000

1001

000

001

010

011

100

END

Початковий стан

+Y

Результат сумування

Зсув

+Y

Результат сумування

Зсув

Зсув

+Y

Результат сумування

Зсув

10010000

01001000

1001

+

11011000

01101100

00110110

1001

+

+

11000110

01100011

Час множення по даному алгоритму визначається за формулою

Т=n(tз+ t+)

tз – t зсуву

t+ - t сумування

Другий основний алгоритм множення

Операція множення по другому алгоритму зводиться до обчислювання за рекурентною формулою

де

Регістр множника повинен мати довжину в n розрядів, регістри множеного та суми часткових добутків – по 2n розрядів. Перед початком множення множене повинно бути записано в відповідний регістр зі зсувом вправо на n розрядів для того, щоб було сформовано значення Yn. ГСА такого множення показана на рис.2. Початкове встановлення лічильника в одиницю зумовлене тим, що значення Yn вже сформовано при запису його в регистр множеного.

Приведемо приклад цифрової діаграми множення чисел Х = 13/16 та Y = 12/16, n = 4.

PX xn*

PY

PZ

СТК

Пояснення

1101

0110

0011

0001

00001100

00011000

00110000

01100000

+

00000000

00001100

001

010

011

100

END

Початковий стан

+Y

Результат сумування

Зсув

Зсув

+Y

Результат сумування Зсув

+Y

Результат сумування

00001100

00001100

00001100

00110000

+

00111100

00111100

01100000

+

10011100

Час множення по даному алгоритму визначається за формулою

Т=(n-1)(tз+ t+)+ t+

tз – t зсуву

t+ - t сумування

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]