ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 15.12.2021

Просмотров: 341

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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




1.3 Множення і ділення двійкових чисел із фіксованою комою


Множення двійкових чисел завжди виконують у прямому коді. Знак добутку визначають по знакових розрядах множників згідно з таким загальновідомим правилом: якщо знаки операндів однакові, то знак добутку – позитивний; у протилежному випадку – знак добутку негативний.

Знак добутку двох чисел не впливає на алгоритм виконання операції множення модулів цих чисел.

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

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

Операція ділення також виконується способом, аналогічним застосовуваному при діленні вручну, що наочно ілюструє приклад ділення двох чисел 506 : 23 = 22, тобто 0.111111010 : 0.10111 = 0.10110. Знак частки визначають аналогічно знаку добутку. Застосоване при діленні віднімання дільника виконують шляхом додавання його додаткового коду [1].


1.3.1 Алгоритм ділення без відновлення остачі


Алгоритм передбачає таку послідовність дій:

  1. Із діленого віднімається дільник (додається дільник, записаний у додатковому коді);

  2. Якщо остача додатня, перша цифра частки дорівнює одиниці, у протилежному випадку – 0;

  3. Остача зсувається ліворуч, і до неї додається дільник із знаком, зворотним знаку остачі;

  4. Знак наступної остачі визначає наступну цифру частки;

  5. Ці дії повторюють доти, поки не утвориться необхідне число розрядів частки або нульова остача.

Слід зазначити, що оскільки даний алгоритм передбачає додавання чисел (остач і дільника) тільки з протилежними знаками, то всі розряди проміжних сум, старші за знаковий, слід ігнорувати.


1.3.2 Операція додавання чисел, поданих у формі з «плаваючою» комою


Даний алгоритм передбачає таку послідовність дій:

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

  2. Виконується перетворення мантис у додаткові коди.

  3. Виконується додавання мантис за правилами, розглянутими вище для чисел із фіксованої комою.

  4. До суми приписується порядок доданків і, в разі необхідності, виконується нормалізація результату.


1.3.3 Операція множення чисел, поданих у формі з «плаваючою» комою


Даний алгоритм передбачає таку послідовність дій:

  1. Визначається знак добутку.

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

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

  4. Виконується нормалізація отриманого результату у випадку її необхідності.


Ділення чисел у пристроях із «плавучою» комою виконується так само, як і множення.



1.4 Форми подання двійкових чисел.


Розрізняють дві форми подання двійкових чисел: із фіксованою комою і з «плавучою» комою. Іноді ці форми називають відповідно природною і напівлогарифмічною.

Припустимо, що в розрядній сітці необхідно розмістити двійкове число, що містить цілу і дробову частини. Якщо для розміщення цілої частини числа виділяється k комірок n-розрядної сітки, то (якщо не враховувати знак) для розміщення дробової частини залишиться n-k вільних комірок (рис. 1).

Shape5


n


Знак


1

0

1

0

1

1

0

1

1

0


k

n-k

Рисунок 1 – Форма подання двійкових чисел із фіксованою комою.


Така форма подання двійкових чисел називається формою з фіксованою комою. Дійсно, положення коми строго фіксовано стосовно розрядної сітки. Якщо кількість розрядів у дробовій частині числа перевищують n-k, то деякі молодші розряди виходять за межі розрядної сітки і не будуть сприйматися обчислювальним пристроєм. Отже, будь-яке двійкове число, менше ніж одиниця молодшого розряду розрядної сітки, сприймається як нуль і називається машинним нулем.[4]

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

В універсальних ЕОМ форма з фіксованою комою, у зв'язку з властивою їй низькою точністю, застосовується лише для подання цілих чисел. Основною є форма подання чисел з «плавучою» комою. Її використання дозволяє суттєво розширити діапазон і зменшити відносну похибку.

У цій формі числа подаються у вигляді суми деякого ступеня основи системи числення (який називається характеристикою числа) і цифрової частини, що має вигляд правильного дробу:

(1.3.4.1)

де p звуть порядком числа, а правильний дріб a – його мантисою. Мантиса і порядок є знаковими числами. Тому для позначення знаків у розрядній сітці відводяться два додаткові розряди. Знак усього числа співпадає із знаком мантиси.

При запису двійкового числа у показовій формі, в розрядній сітці використовуються дві групи розрядів (без урахування знакових розрядів мантиси і порядку). Перша група (k розрядів) призначена для розміщення коду мантиси, друга (n-k розрядів) – для розміщення коду порядку (рис.2).


Shape6


n



Знак

мантиси

1

0

1

0

1

1

0

1

1

0

Знак

порядку


k

n-k


Рисунок 2 – Форма подання двійкових чисел із „плавучою” комою.


Отже, мантиса числа може мати необмежену кількість різних значень, менших за одиницю, при відповідних значеннях порядку (тобто кома може «плавати»). З усієї кількості подань числа у показовій формі те його подання, що не має в старшому розряді мантиси нуля, називають нормалізованим. Всі інші подання є ненормалізованими. У нормалізованій формі значення мантиси завжди більші або дорівнюють 1/2, але не перевищують одиниці.


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

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

























2 АНАЛІТИЧНО-РОЗРАХУНКОВА ЧАСТИНА


2.1 Завдання 1


Додати в двійковій системі числення числа D=567 та E=165.


D = 567

Переведення числа D в двійкову систему

Рисунок 2.1.1 – переведення числа 567 у двійкову систему числення


56710 =10001101112


Е = 165


Для подальшого вирішення задачі переведемо також число E в двійкову систему числення поділивши на основу системи (2) саме число. В даному випадку використовується стандартний метод, коли ми записуємо залишок щоразу після ділення а впорядковані в зворотньому порядку залишки і являють наше число


Рисунок 2.1.2 – переведення числа 165 у двійкову систему числення



16510 = 101001012

Dпр = 00, 1000110111

Епр = 00, 0010100101


Отримавши потрібні результати в двійковій системі тепер додаємо початкові дані за правилом додавання двійкових чисел, наступним чином:

Shape8Shape7

00, 1000110111

Shape9

00, 0010100101

00, 1011011100

Рпр = 00, 1011011100


Рисунок 2.1.3 – додавання чисел 567 і 165 у двійковій системі числення



Відповідь: 00,1011011100


2.2 Завдання 2


Знайти різницю чисел G=800 та H=212, використовуючи алгоритм додавання в обернених кодах.


Для цього використаємо аналогічний алгоритм як в попередньому завданні для переведення вихідних чисел у двійкову систему та виконаємо над ними дії у двійковій системі.


Переводимо числа в двійкову систему для подальших операцій над ними


G=800



Рисунок 2.2.1 – переведення числа 800 у двійкову систему числення


80010 = 11001000002


За таким же принципом переводимо у двійкову систему і число H =212

Рисунок 2.2.2 – переведення числа 212 у двійкову систему числення


21210 = 110101002



Gпр = 00, 1100100000

Нпр = 11, 0011010100

Gоб = 00, 1100100000

Ноб = 11, 1100101011

Shape11Shape10

00, 1100100000

Shape12

11, 1100101011

100, 1001001011

Shape13

1

00, 1001001100

Рпр = 00, 1001001100


Рисунок 2.2.3 – знаходження різниці чисел 800 та 212, використовуючи алгоритм додавання в обернених кодах



Відповідь: 00,1001001100