Микропроцессоры и микроконтроллеры

 
 
 
«Трудность работы с програмистом заключается в том, что вы не можете понять что он делает до тех пор пока не стало слишком поздно.»
Seymour Cray
Русский | Українська


Микропроцессоры и микроконтроллеры :: Канали вводу-виводу на основі МК51 :: Реалізація додавання в форматі ПЗ

Реалізація додавання в форматі ПЗ

підсумування

rn

- запис операції в загальному вигляді.

rn

,  - представлення значень операндів.

rn

Нехай . Сума запишеться у вигляді:

rn

rn

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

rn

Значення мантісси результату отримуємо як ,

rn

Порядок результату виходить як

rn

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

rn

В результаті підсумовування значень мантісс и  можливе отримання ненормалізованного значення  : тобто або - переповнення розрядної сітки суми.

rn

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

rn

Реалізація віднімання здійснюється на основі операції додавання, але у другому доданок повинен бути змінений знак:




Следующая статья >>
«Реалізація множення в форматі ПЗ»