рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Хід отримання результатів

Хід отримання результатів - раздел Образование, Вміти отримувати результати завдяки використанню машинного алгоритму множення цілих двійкових чисел 5.4.1.Множення Цілих Двійкових Чисел Зі Знаком У Прямому І Д...

5.4.1.Множення цілих двійкових чисел зі знаком у прямому і додатковому кодах виконується шляхом покрокового додавання значення множеного, яке зсувається, та часткової суми, якщо у відповідному розряді множника присутня одиниця.

5.4.2.При множенні чисел у прямому коді знакові та значущі розряди обробляються нарізно. Для визначення знака результату виконується додавання цифр, записаних у знакових розрядах операндів.

5.4.3. Множення цілих двійкових чисел у додатковому коді виконується за алгоритмом, аналогічним множенню чисел у прямому коді, але знак результату отримується автоматично, причому в операції множення беруть участь не тільки значущі, але і знакові розряди чисел. При цьому слід мати на увазі дві особливості. Якщо виконується множення множеного А на знакову одиницю від’ємного множника В, то необхідно для відповідного додавання використати не А, а [–А]дк. Якщо ж від’ємним числом є множене, то в кожному додаванні беруть участь одиниці, які отримуються внаслідок дописування зліва перед множеним незначущих нулів і наступної інверсії множеного.

 

Приклад 5.1.

A = + 1010 = 0 10102 (множене); [ А]дк = 0 1010

B = – 1310 = 1 11012 (множник); [ В]дк = 1 0011

 

10011

1 0110

1 01111110

Під час множення на знакову одиницю множника В була виконана корекція – як останній доданок використано [–А]дк = 1 0110.

Оскільки в знаковому розряді результату маємо 1, то це означає, що результатом множення є двійкове число в додатковому коді. Для переходу до прямого коду результат треба проінвертувати і виконати операцію додавання над проінвертованим кодом і одиницею:

 

1 10000001+1= 1 10000010.

Результат:

D = 1 100000102 –> – (1·27 + 0·26 + 0·25 + 0·24 + 0·23+0·22 + 1·21+0·20 ) = – (128+2) = –13010.

 

Приклад 5.2

A = –1010 (множене); [ А]дк = 1 0110

B = +1310 (множник); [ В]дк = 0 1101

 

1 0110

0 1101

111110110

00000000

1110110

110110

00000

Оскільки множене є від’ємним числом, то при додаванні використані одиниці множеного, які отримані шляхом інверсії незначущих нулів у старших розрядах, при наявності ненульового розряду множника.

У знаковому розряді добутку маємо 1, отже, результат множення отримали в додатковому коді. Для переходу до прямого коду результат треба проінвертувати і виконати операцію додавання над проінвертованим кодом і одиницею:

 

1 10000001 + 1 = 1 10000010.

 

Результат:

D = 1 100000102 = – (1·27+0·26 + 0·25 + 0·24 + 0·23 + 0·22 + 1·21 + 0·20) = = – (128+2) = – 13010

5.4.4. Машинний алгоритм, який розглянуто в даній лабораторній роботі, характеризується тим, що для множеного, множника і часткової суми використовуються регістри однакової довжини (наприклад, 8‑бітові). Результат (добуток) зберігається в парі регістрів, в одному з яких зберігалась часткова сума, а в другому – множник. При цьому старша частина результату розміщується в регистрі часткової суми, а молодша – в регистрі множника.

У даному алгоритмі виконуються такі дії:

1. Зсув множника на 1 розряд в сторону молодших розрядів з урахуванням у старшому розряді поточного вмісту ознаки CF, тобто виконання операції RCR.

2. Якщо значення, висунуте з правого розряду і відтворене в ознаці CF, не дорівнює 1, то перехід до 4-го пункту.

3. Додавання множеного з частковою сумою. Присвоєння ознаці CF значення 0.

4. Зсув часткової суми на 1 розряд у сторону молодших розрядів з урахуванням у старшому розряді поточного вмісту ознаки CF, тобто виконання операції RCR.

5. Якщо кількість виконань пунктів 1– 4 не дорівнює кількості розрядів n у множника, то знову перейти до пункту 1.

6. Корекція значення молодшої частини результату множення шляхом зсуву множника на 1 розряд у сторону молодших розрядів з урахуванням у старшому розряді поточного вмісту ознаки CF, тобто виконання операції RCR.

 

5.4.5. Машинний алгоритм множення

Схема одного з машинних алгоритмів множення наведена нижче.

 
 

 


ні

 

 

так

 

 

так

 

 

ні

 

Приклад 5.3 A = 610 = 01102 (множене);

B = 310 = 00112 (множник);

D = 00002 (часткова сума);

N = 4

 

  № такту Дія Ознака [CF] i
   
Зсув В вправо B = [0]001|1
[CF] = 1, отже, додаємо множене до часткової суми; [CF] := 0 D = D + A  
Зсув D вправо D = [0]011|0  
Зсув В вправо B = [0]000|1  
[CF] = 1, отже, додаємо множене до часткової суми; [CF] := 0 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:B –> 0001: 0010 000100102 = 1810.

 

– Конец работы –

Эта тема принадлежит разделу:

Вміти отримувати результати завдяки використанню машинного алгоритму множення цілих двійкових чисел

МНОЖЕННЯ ЦІЛИХ ДВІЙКОВИХ ЧИСЕЛ... Мета роботи У результаті виконання лабораторної роботи...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Хід отримання результатів

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Завдання до лабораторної роботи
5.3.1.Вибрати варіант завдання із табл. 5.1 за своїм номером у журналі групи. Таблиця 5.1 – Вихідні дані для виконання лабораторної роботи Варіант

Зміст звіту
5.6.1. Звіт треба оформити в зошиті для звітів або на аркушах формату А4. 5.6.2. Звіт може бути роздрукований. 5.6.3. Звіт викон

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги