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

3.1.7. Модифікований додатковий код

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

1) для позитивного числа

X= ; X = ;

2) для від'ємного числа

X= ; X = +0,000 . . . 1;

4.1. Додавання чисел в ЦА.

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

  1. Проводиться вирівнювання порядків доданків.

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

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

4.1.1. Додавання в прямому коді.

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

4.1.2. Додавання в додатковому коді.

Сума позитивних чисел визначається так же, як в прямому коді. Так як від’ємні числа представлені доповненнями до 2(4), операція віднімання замінюються додаванням. Одиниця переносу, яка виходить за розрядну сітку, відкидається. Переповнення розрядної сітки можливо при додаванні чисел з однаковими знаками. Воно ідентифікується відмінністю знака суми від знаків доданків або різними цифрами в знакових розрядах при додаванні в модифікованому коді. Операція додавання виконується над всіма розрядами чисел, в тому числі і над знаковими.

4.1.3. Додавання в зворотному коді.

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

4.1.4. Операція зсуву.

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

4.1.5. Зсув позитивних чисел.

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