Для додавання чисел та (де 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 з ігноруванням перенесення після коригування, якщо воно виникає.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.