Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Робочий зошит (3 розділи неповна).docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.48 Mб
Скачать

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

Використовує добуток 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, останній крок закінчується зсувом.

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 розрядів, регістри множеного та суми часткових добутків – по 2n розрядів.

Перед початком множення множене повинно бути записано в відповідний регістр зі зсувом вправо на n розрядів для того, щоб було сформовано значення Yn.

Початкове встановлення лічильника в одиницю зумовлене тим, що значення 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