Реалізація додавання в форматі ПЗ
підсумування rn - запис операції в загальному вигляді. rn , - представлення значень операндів. rn Нехай . Сума запишеться у вигляді: rn rn Для приведення масштабів чисел до єдиного значення масштаб більшого числа будемо вважати основним, а менша кількість будемо приводити до основного масштабу. Отже, перед підсумування мантісс мантісса меншого числа повинна бути зрушити вправо на кількість розрядів . rn Значення мантісси результату отримуємо як , rn Порядок результату виходить як rn Зазвичай в практично використовуваних форматах з ПЗ мантісса представляється в прямому коді незалежно від знаку. Тому перед підсумування мантісс потрібно порівняти знаки операндів і при різних знаках виконувати віднімання. Для гарантованого отримання прямого коду мантісси вичитати випливає з більшою мантісси меншу. При цьому може знадобитися перестановка мантісс, і, відповідно, їх порядків. rn В результаті підсумовування значень мантісс и можливе отримання ненормалізованного значення : тобто або - переповнення розрядної сітки суми. rn У цьому випадку виконується нормалізація мантісси шляхом зсуву вліво або зсуву вправо на 1 розряд. Зсув повинен супроводжуватися відповідною корекцією порядку числа: при зсуві вліво на 1 розряд значення порядку повинно бути зменшено на 1: , а при зсуві вправо - збільшено на 1: . Також потрібно проконтролювати, аби скорегувати значення порядку не перевищила допустимі межі значень. rn Реалізація віднімання здійснюється на основі операції додавання, але у другому доданок повинен бути змінений знак:
|