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

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


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

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

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

rn

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

rn

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

rn

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

rn

rn

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

rn

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

rn

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

rn

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

rn

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

rn

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

rn

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




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