Алгебраїчне додавання з використанням модифікованого коду
Алгебраїчне додавання з використанням оберненого коду
Правило запису від’ємного числа в оберненому коді: значення всіх розрядів інвертуються на протилежні, а в знаковому розряді пишеться одиниця. Якщо при додаванні утворюється другий знаковий розряд (1) (перенос із знакового розряду) він додається до молодшого розряду результату.
Приклад1: А1=+0,01011
А2=-0,01100 форма з фіксованою комою
А1 об.=(0)01011; А2 об.=(1)10011
А1 об.+А2 об.
(0) | ||||||
+ | (1) | |||||
(1) |
Якщо результат додавання від’ємне число, то воно є представленим в оберненому коді.
Результат: (А1+А2)об.= (1)11110;
А1+А2=-0,00001.
Приклад2: А1=-0,01011
А2=0,01100 форма з фіксованою комою
А1 об.= (1)10100; А2 об.=(0)01100
А1 об.+А2 об.
(1) | ||||||
+ | (0) | |||||
додається®1 | (0) | |||||
+ | ||||||
(0) |
Результат: (А1+А2)об.= (0)00001;
А1+А2=+0,00001.
Може бути модифікований обернений і модифікований доповнюючий код.
Модифіковані коди відрізняються від звичайного тільки тим, що на знак числа відводяться два розряди "+" – 00, а "-" – 11. Всі дії виконуються аналогічно, але якщо в знакових розрядах результат буде 01 або 10, це свідчить про переповнення розрядної сітки і дуже легко виявляється.
Переповнення розрядної сітки – це явище при якому результат операції має більшу кількість розрядів, ніж кількість розрядів в пристрої, який призначений для його збереження.
Приклад: Обернений код
А1=-0,1010 А1 об.=(1)0101
А2=-0,0111 А2 об.=(1)1000
А1 об. +А2 об.
(1) | |||||
+ | (1) | ||||
(0) | |||||
+ | |||||
(0) |
Одержаний результат неправильний, тому що відбулось переповнення розрядної сітки і ту помилку можна пропустити.
Модифікований обернений код:
А1=-0,1010 А1 об.мод.=(1)(1)0101
А2=-0,0111 А2 об.мод..=(1)(1)1000
А1 об.мод.+А2 об.мод.
(1)(1) | |||||
+ | (1)(1) | ||||
(1)(0) | |||||
+ | |||||
(1)(0) |
Комбінація цифр (1) (0) свідчить про переповнення розрядної сітки.
Для реєстрації результату додавання необхідно п’ять розрядів (без врахування знакових розрядів).
Приклад: А1=-0,01010 А1 об.мод.=(1)(1)10101
А2=-0,00111 А2 об.мод..=(1)(1)11000
А1 об.мод. +А2 об.мод.
(1)(1) | ||||||
+ | (1)(1) | |||||
(1)(1) | ||||||
+ | ||||||
(1)(1) |