Арифметичні основи цифрової техніки (Глава 1 навчального посібника), страница 13

Для додавання чисел  та (де E2<E1) у  форматі з рухомою комою для одержання суми  попередньо вирівнюють порядки доданків, збільшуючи менший E2 до більшого E1 із коригуванням мантиси M2 до M2', аби число B не змінилося. Відтак алгебрично підсумовують мантиси M1+M2'  з урахуванням знаків за правилами додавання чисел з нерухомою комою, приписують порядок суми E1 та, у разі потреби, нормалізують результат.

1.4.3. Алгебричне додавання в системі ДДК 8421

Як і в двійковій системі, алгебричне додавання чисел зі знаком у ДДК виконують у доповняльному або оберненому кодах: операцію доповнення здійснюють над кожною тетрадою до 9 в обох кодах, а над молодшою – до 10 в доповняльному коді. На рис. 1.10 наведено приклади на додавання чисел ДДК 8421 у доповняльному коді: для наочності цифрові розряди десяткового доповняльного коду X10.доп подано десятковими цифрами, а знакові розряди –двійковими, тобто +5710=0.5710.доп, -5710=1.4310.доп (бо 100-57=43). При  цьому вважаємо дані коректними: модуль суми операндів не виходить за межі розрядної сітки.

Залежно від величини тетрад доданків можливі три притаманні ДДК випадки.

1) Після додавання кожна тетрада суми Si<10 (рис. 1.10,а), тобто не утворюються неприпустимі комбінації в тетрадах і перенесення між ними: підсумок правильний, коригування його не потрібне.

2) У будь-якій тетраді виникає сума 9<Si<16 (на рис. 1.10,б – у молодшій тетраді), тобто в ній утворюється заборонена комбінація, але перенесення між тетрадами відсутнє: це призводить до втрати одиниці в наступній, старшій тетраді – потрібне коригування шляхом додавання 610=01102 до тієї тетради, в якій виникла неприпустима комбінація.

3) Сума двох тетрад доданків Si>15, внаслідок чого утворюється перенесення (на рис. 1.10,в показано стрілкою) з молодшої тетради до старшої (так зване півперенесення HC – Haalf Carry, прапорець-ознака якого спеціально для цього вводиться в деяких мікропроцесорах): при цьому молодша тетрада зменшується на 610 – коригується додаванням 610 до тієї тетради, з якої відбулося перенесення. (Перенесення, що виникають під час коригування, повторно не коригуються).

В іншому алгебричне додавання таке саме, як і в двійковій системі: в останній сумі, що утворюється після коригування, перенесення зі знакового розряду відкидається (рис. 1.10,г,д), підсумок одержується в тому ж коді, в якому зображено доданки. Для переведення суми, у разі потреби, з доповняльного в прямий код необхідно знов виконати операцію доповнення: відняти кожну тетраду суми від 9, а молодшу – від 10.

Таким чином, алгебричне додавання в ДДК 8421 виконується тетрадами за правилами двійкової арифметики з наступним коригуванням суми шляхом додавання до тетради числа 610 в двох випадках: 1) коли в ній утворюється неприпустима комбінація та 2) якщо з неї виникло перенесення до старшої тетради. Як і в двійковій арифметиці, перенесення зі знакового розряду в доповняльному коді відкидається, а в оберненому – додається до суми.

1.4.4. Алгебричне додавання в системі ДДК з надлишком 3

В інших ДДК коригування виконується за власними правилами. При цьому в самодоповняльних кодах (з надлишком 3, 2421) легше здійснюються операції доповнення, виявлення перенесень між  тетрадами та коригування. Розглянемо особливості додавання в коді X' з надлишком 3 (див. табл. 1.6). Залежно від значень тетрад доданків A, B тут можливі два випадки.

1) Після додавання будь-яка тетрада суми в десятковій системі A+B<10 або в коді з надлишком 3: Yi=A'+B'=A+3+B+3<16, тобто не утворюється перенесення до старшої тетради ci+1. У цьому разі матимемо суму Yi=(A+B+3)+3=S'+3, яка перевищує зображення в даному коді Si на 3 – потрібне коригування шляхом віднімання з цієї тетради 310, що еквівалентно додаванню до тетради доповнення Di=24-3=1310=11012 з ігноруванням перенесення після коригування, якщо воно виникає.