Главная Обратная связь

Дисциплины:






ЛАБОРАТОРНА РОБОТА №2. 1.1 Ознайомитись з алгоритмами множення в ЕОМ



 

ТЕМА: ВИКОНАННЯ ОПЕРАЦІЙ МНОЖЕННЯ ТА ДІЛЕННЯ ЧИСЕЛ З ФІКСОВАНОЮ ТА ПЛАВАЮЧОЮ КОМОЮ

 

МЕТА РОБОТИ

1.1 Ознайомитись з алгоритмами множення в ЕОМ..

1.2. Ознайомитись з алгоритмами ділення в ЕОМ..

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

2.ОСНОВНІ ТЕОРЕТИЧНІ ВІДОМОСТІ

Множення чисел, представлених у формі з плаваючою комою

Якщо операнди задані у формі з плаваючою комою:

А = a2ma і B = b2mb, то їх добуток С = А*В і С = с2mc

де C = a * b * 2 (ma+mb)

Алгоритм множення нормалізованих чисел складається з наступних етапів:

1. Визначення знака добутку шляхом складання знакових розрядів мантиси операндів за модулем 2.

2. Алгебраїчне додавання порядків співмножників з метою визначення порядку добутку.

3. Множення модулів мантис співмножників за правилами множення чисел з фіксованою комою.

4. Нормалізація і округлення мантиси результату. Слід врахувати, що мантиси співмножників є нормалізованими числами. Тому денормалізація мантиси добутку можлива тільки на один розряд вправо. Вона усувається шляхом зсуву мантиси на один розряд вліво і віднімання 1 з порядку результату.

5. Присвоєння знака результату.

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

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

Ділення чисел, представлених в формі з плаваючою комою

Якщо числа А і В задані в нормальній формі, то їх частка дорівнюватиме:

С = a: b = (a: b) 2 (mа-mb)

де а і b - мантиси, а ma і mb-порядки відповідно чисел А і В. Звідси випливає, що операція ділення в машинах з плаваючою комою виконується в п'ять етапів.

1-й етап. Визначення знака частки шляхом складання по модулю 2 знакових цифр мантиси операндів.

2-й етап. Розподіл модулів мантис операндів за правилами ділення чисел з фіксованою комою.

3-й етап. Визначення порядку частки шляхом вирахування порядку дільника з порядку діленого.

4-й етап. Нормалізація результату і його округлення.

5-й етап. Присвоєння знака мантиси результату.

Два перші етапи повністю збігаються з етапами ділення чисел з фіксованою комою. Третій етап являє собою звичайне додавання в інверсних кодах.



При розподілі нормалізованих чисел денормалізація результату можлива тільки вліво і тільки на один розряд. Це обумовлено тим, що мантиса будь-якого нормалізованого числа лежить в межах

2-1 £ |а|< 1— 2-n

Тоді найменша і найбільша можливі величини мантиси частки рівні відповідно

тобто мантиса частки лежить в межах 2-1 £ |y|< 2.

Тому на четвертому етапі може виникнути необхідність нормалізації мантиси частки шляхом її зсуву вправо на один розряд і збільшення порядку частки на одиницю. Якщо ж перед поділом зрушити ділене на один розряд вправо, то на 4-му етапі може знадобитися нормалізація результатів вліво на 1 розряд.

При виконанні третього (визначення порядку) етапу порядок частки може виявитися більше припустимого, тобто відбудеться переповнення розрядної сітки, яке розцінюється як аварійна ситуація. Може бути також отриманий порядок частки, який менше допустимого. Якщо на другому етапі обчислено частка | y |> 1, то на четвертому етапі при зсуві частки вправо її порядок повинен бути збільшений на одиницю. При цьому стає остаточно ясно, по-перше, чи виникло переповнення розрядної сітки порядку чи ні, по-друге, чи буде порядок частки менше допустимого значення. Якщо має місце зникнення порядку, то результат ділення за вказівкою програміста замінюється машинним нулем.

 

3. ДОМАШНЄ ЗАВДАННЯ.

3.1. Вивчити за конспектом та підручником правила множення чисел за I, II, III та IV основними алгоритмами.

3.2. Вивчити за конспектом та підручником алгоритми ділення без відновлення залишку.

3.3. Скласти цифрову діаграму ділення чисел 20/32 на 27/32 без відновлення залишку. Зробити перевірку отриманого результату.

 

ВИКОНАННЯ РОБОТИ.

4.1. Скласти цифрові діаграми множення двійкових чисел X на Y та V на W відповідно до таблиці 2.1 (варіант визначається по порядковому номері в журналі)

Таблиця 2.1

Варіант Х=Хі/64 Y=Yi/64 Алгоритм V= Vі/16 W= Wі/16 Алгоритм
Хі=51 Yi=33 І Vі=3 Wi=7 IV
Хі=51 Yi=33 ІІ Vі=3 Wi=7 III
Хі=58 Yi=35 І Vі=11 Wi=15 IV
Хі=58 Yi=35 ІІ Vі=11 Wi=15 III
Хі=63 Yi=37 І Vі=7 Wi=11 IV
Хі=63 Yi=37 ІІ Vі=7 Wi=11 III
Хі=49 Yi=34 І Vі=14 Wi=15 IV
Хі=49 Yi=34 ІІ Vі=14 Wi=15 III
Хі=62 Yi=41 І Vі=8 Wi=10 IV
Хі=62 Yi=41 ІІ Vі=8 Wi=10 III
Хі=56 Yi=29 І Vі=9 Wi=14 IV
Хі=56 Yi=29 ІІ Vі=9 Wi=14 III
Хі=60 Yi=32 І Vі=8 Wi=12 IV
Хі=60 Yi=32 ІІ Vі=8 Wi=12 III
Хі=47 Yi=44 І Vі=10 Wi=15 IV
Хі=47 Yi=44 ІІ Vі=10 Wi=15 III
Хі=50 Yi=28 І Vі=6 Wi=14 IV
Хі=50 Yi=28 ІІ Vі=6 Wi=14 III
Варіант Х=Хі/64 Y=Yi/64 Алгоритм V= Vі/16 W= Wі/16 Алгоритм
Хі=45 Yi=43 І Vі=13 Wi=14 IV
Хі=45 Yi=43 ІІ Vі=13 Wi=14 III
Хі=54 Yi=37 І Vі=4 Wi=7 III
Хі=56 Yi=36 II Vі=12 Wi=14 IV
Хі=62 Yi=39 І Vі=9 Wi=11 III
Хі=48 Yi=35 II Vі=13 Wi=12 IV
Хі=61 Yi=42 І Vі=9 Wi=16 III
Хі=57 Yi=28 II Vі=7 Wi=11 IV
Хі=58 Yi=34 І Vі=12 Wi=14 III
Хі=49 Yi=42 II Vі=9 Wi=11 IV
Хі=52 Yi=28 І Vі=13 Wi=12 III
Хі=44 Yi=46 II Vі=9 Wi=16 IV

 

4.2. Зробити перевірку вірності отриманих добутків, шляхом їх переведення у десяткову систему.

4.3. Скласти цифрову діаграму ділення чисел А та В без відновлення залишку відповідно до таблиці 2.2 (варіант визначається по останній цифрі студентського квитка)

Таблиця 2.2

№ варіанту А=Аі/16 В=Вi/16   № варіанту А=Аі/16 В=Вi/16
Аі=3 Вi=7   Аі=9 Вi=14
Аі=11 Вi=15   Аі=8 Вi=12
Аі=7 Вi=11   Аі=10 Вi=15
Аі=14 Вi=15   Аі=6 Вi=14
Аі=8 Вi=10   Аі=13 Вi=14

 

5. КОНТРОЛЬНІ ЗАПИТАННЯ.

5.1. Яку арифметичну операцію визначає зсув інформації вліво на один, два розряди?.

5.2. Яку арифметичну операцію визначає зсув інформації вправо на один, два розрядів?.

5.3. Який з 4 основних алгоритмів множення є найшвидшим?

5.5. Які елементарні операції лежать в основі алгоритмів множення та ділення?

5.7. Що є недоліком алгоритму ділення без відновлення залишку?

5.8. Запишіть етапи виконання множення / ділення двійкових чисел з блукаючою комою.

5.9. Наведіть по два приклади на реалізацію множення / ділення чисел з плаваючою комою

6. ЗМІСТ ЗВІТУ

6.1. Тема та мета практичної роботи.

6.2. Виконання домашнього завдання.

6.3. Короткий звіт за пунктами виконаної лабораторної роботи.

6.4. Відповіді на контрольні запитання.

6.5. Зробити висновки.

 

 





sdamzavas.net - 2019 год. Все права принадлежат их авторам! В случае нарушение авторского права, обращайтесь по форме обратной связи...