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

Числа, представлені у формі з плаваючою комою, зображуються двома частинами – мантисою та порядком. При операції алгебраїчного складання дії, що виконуються над мантисами та порядками, різні. Отже, у цифровому автоматі повинні бути два різні пристрої для обробки мантис та порядків.

Додавання (віднімання) чисел з плаваючою точкою (у припущенні, що ) виконується відповідно до виразу:

При додаванні (відніманні) чисел з плаваючою точкою застосовують наступний алгоритм.

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

2. Проводиться складання (віднімання) мантис, у результаті виходить мантиса суми (різниці).

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

4. Отримана сума (різниця) нормалізується.

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

1) (m - число розрядів мантиси. Як результат підсумовування відразу може бути взято перше доданок, тому що при вирівнюванні порядків всі розряди мантиси другого доданку набувають нульового значення;

2). Як результат підсумовування може бути взято другий доданок;

3). Можна приступити до підсумовування мантис;

4). Мантиса другого доданку зрушується на розрядів праворуч, потім проводиться підсумовування мантис;

5). Перед виконанням підсумовування мантис проводиться зсув мантиси першого числа на розряди праворуч.

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

Додавання (віднімання) мантис проводиться за правилами складання (віднімання) чисел з фіксованою точкою.

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

Приклад 2.12. Скласти числа і у зворотному коді (шість двійкових розрядів для мантиси та чотири двійкові розряди для порядку).

Рішення. Насамперед запишемо машинні зображення чисел і визначимо, який із порядків більше.

.

Оскільки величина позитивна, то . Отже, треба зрушити мантису числаBправоруч кількість розрядів, рівне , тобто. однією розряд: . Тепер порядки рівні, і можна виконувати додавання мантис.

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

Отримали остаточний результат: .