ДОДАВАННЯ ЧИСЕЛ

Додавання двійкових чисел. Принцип складання цілих позитивних "розрядних двійкових чисел і проілюстровано на рис. 2.3 і складається в підсумовуванні окремих розрядів за правилом

(2.16)

де з до - перенесення з (до - 1) -го розряду в до- й; Ь до , а до - к-с розряди доданків В, A; s k - сума до -го розряду; з до + { - перенесення в {k + 1) -й розряд; k = 0, 1, 2, п- 1.

Правила складання багаторозрядних двійкових чисел

Мал. 2.3. Правила складання багаторозрядних двійкових чисел

Розряди суми формуються послідовно, починаючи з молодшого розряду. Для нульового розряду (к = 0) перенесення С0 відсутня, тому вираз (2.16) має вигляд b 0 + а 0 = с, sQ. Перенесення з п = 1 в п- й розряд призводить до неправильного результату, при цьому переповнюється розрядна сітка. Умова відсутності переповнення має вигляд

(2.17)

У табл. 2.8 наведені вісім можливих варіантів підсумовування kx розрядів за формулою (2.16).

Таблиця 2.8

вхідні величини

вихідні величини

Перенесення & -го розряду з до

до- й розряд Ь до доданка В

kv розряд а до доданка А

Перенесення в (до + 1) -й розряд c k + i

Сума & -го розряду s k

0

0

0

0

0

0

0

1

0

1

0

1

0

0

1

0

1

1

1

0

1

0

0

0

1

1

0

1

1

0

1

1

0

1

0

1

1

1

1

1

Приклад 2.14. Викладений вище принцип проілюструємо на прикладі складання двох 4-розрядних (і = 4) двійкових чисел (рис. 2.4).

Арифметичне додавання двох 4-розрядних позитивних двійкових чисел

Мал. 2.4. Арифметичне додавання двох 4-розрядних позитивних двійкових чисел

Перенесення З А = 1 фіксує переповнення розрядної сітки і свідчить про отримання помилкового результату (4) 0 замість 20Ш). Правильний результат 101002 = 2010 не поміщається в 4-розрядну сітку.

Алгебраїчне додавання в додатковому коді. Подання чисел в додатковому коді дозволяє виконувати їх додавання і віднімання з урахуванням знака, при цьому результат також виходить в додатковому коді. Для виявлення особливостей реалізації цих операцій розглянемо приклади алгебраїчного додавання 3-розрядних (п = 3) двійкових чисел А і В. У табл. 2.9 наведені всі 3-розрядні двійкові числа в додатковому коді і їх десяткові еквіваленти. Знаковий розряд виділений жирним шрифтом. Дані табл. 2.9 використовуються в наведених нижче прикладах.

Таблиця 2.9

позитивні числа

Негативні числа

двійкове число

десятковий еквівалент

двійкове число

десятковий еквівалент

0000

+0

0000

-0

0001

+1

1111

-1

0010

+2

1110

-2

0011

+3

1 101

-3

0100

+4

1 100

-4

0101

+5

1011

-5

0110

+6

1010

0111

+7

+1001

-7

Приклад 2.15. Виконаємо операцію алгебраїчного додавання 3-розрядних (n = 3) двійкових чисел А і В у додатковому коді (2.14) для трьох випадків. Так як особливості складання позитивних чисел розглянуті вище, в прикладах наведені лише випадки, коли одне або обидва числа А, В мають негативний знак (рис. 2.5).

З'явився в процесі підсумовування двійкових чисел перенесення С4 = 1 виходить за межі розрядної сітки. Отримані суми А + В дають правильний результат в додатковому коді.

Алгебраїчне додавання в зворотному коді. Подання чисел в зворотному коді дозволяє виконувати їх додавання і віднімання з урахуванням знака, при цьому результат також виходить в зворотному коді. Для виявлення особливостей реалізації цих операцій розглянемо приклад алгебраїчного додавання 3-розрядних (п = 3) двійкових чисел Л і В для трьох випадків.

Приклад 2.16. Виконаємо операцію алгебраїчного додавання 3-розрядних (п = 3) двійкових чисел Л і В представлених в зворотному коді. Розглянуто випадки, коли одне або обидва числа Л, В мають негативний знак (рис. 2.6).

Особливість складання в зворотному коді полягає в тому, що при появі перенесення З А = 1 (2-й і 3-й випадки) необхідно виконати додаткову операцію: до отриманої суми А + В додати значення С 4 = 1. При відсутності переносу (С4 = 0) корекції суми не потрібно (випадок 1).

Додавання двійковій-десяткових чисел. Арифметичне додавання однорозрядних чисел. Розглянемо один з можливих способів підсумовування позитивних однорозрядних десяткових чисел, представлених в коді 8421.

Додавання зошити відбувається за правилами двійковій арифметики. Якщо сума більше 9, то виникає необхідність в проведенні корекції. Значення суми від 10 до

Алгебраїчне додавання двох 4-розрядних двійкових чисел в додатковому коді

Мал. 2.5. Алгебраїчне додавання двох 4-розрядних двійкових чисел в додатковому коді

Алгебраїчне додавання двох 4-розрядних двійкових чисел в зворотному коді

Мал. 2.6. Алгебраїчне додавання двох 4-розрядних двійкових чисел в зворотному коді

  • 19 одиниць (1010, 1011 ..., 10011) виявляється за такими ознаками:
    • • поява при підсумовуванні п'ятого розряду двійкового числа у вигляді перенесення в наступну тетраду (числа від 10000 до 10011 або від 16 до 19 в десятковій системі числення);
    • • наявність одиниць в розрядах з вагою 8 і 2 (числа 1010 і 1011 або 10 і 11), 8 і 4 (числа от 1100 до 1111 або від 12 до 15).

Корекція здійснюється додатковим додатком двійкового числа 0110 (6) 10 до отриманого результату. Це обумовлено тим, що вага п'ятого розряду як двійкового числа становить 16 десяткових одиниць, а як перенесення в наступний старший розряд десяткового числа - 10, тобто різниця дорівнює 6. Пояснимо принцип корекції на прикладах.

Приклад 2.17. Виконаємо додавання двох тетрад А і В з урахуванням перенесення Р для трьох випадків (рис. 2.7).

Додавання двох тетрад A і В з урахуванням перенесення Р для трьох випадків

Мал. 2.7. Додавання двох тетрад A і В з урахуванням перенесення Р для трьох випадків

  • 1. При А + В + Р < 9 перенесення в стару тетраду не виникає, сума відповідає дозволеної комбінації двійковій-десяткового кодування, тому корекції не потрібно. Отримано правильний результат.
  • 2. Для випадку 2 при додаванні чисел 4 + 7 + 0 = 11 виконується умова 10 < А + В + Р < 15. Про неправильному результаті свідчить наявність одиниць в розрядах з вагою 8 і 2 суми 1011 тому виконана корекція. При проведенні корекції шляхом додавання числа 0110 (6) | 0 отримана сума 1 0001 (17) | 0 у вигляді 5-розрядного числа. П'ятий розряд "йде" в старшу тетраду, забираючи з собою 16 одиниць, і залишає правильний результат 0001 (1). Таким чином, в цьому випадку навмисного корекція викликала поява одиниці в п'ятому розряді, перенесення якої в наступну тетраду дозволив отримати правильний результат.
  • 3. При додаванні однорозрядних десяткових чисел (9 + 7 + 1 = 17) отримано результат 1 0001 в вигляді 5-розрядного двійкового числа. Значення 1 в п'ятому розряді відповідає 16 в десятковому численні. Після перенесення одиниці п'ятого розряду в старшу тетраду її значення стає рівним 10. Так як перенесення супроводжується зменшенням результату на 6 десяткових одиниць, до тетраде необхідно додати двійковечисло ВОНО (6) 10. В результаті корекції отриманий правильний результат 01112 = 710.

Особливості алгебраїчного підсумовування багаторозрядних десяткових чисел , представлених в коді 8421.

При додаванні позитивних багаторозрядних чисел старші тетради підсумовуються з урахуванням перенесення по розглянутим вище правилам.

Приклад 2.18. Обчислимо суму позитивних 3-розрядних чисел А = 548 і В = 278 в коді 8421 (рис. 2.8).

При додаванні чисел з негативними знаками використовується зворотний або додатковий код. Для цього необхідно:

  • • уявити складові А і В у зворотному А, і В, або додатковому А і В коді;
  • • провести підсумовування в зворотному (Зо6р + Во6р) або додатковому (Лдоп + Вдіп) коді;
  • • при необхідності провести корекцію суми;
  • • при негативній сумі перетворити отриманий результат з зворотного і додаткового кодів в прямий код.

Приклад 2.19. Обчислимо алгебраїчну суму 3-розрядних чисел А + В = -548 + 278 в зворотному коді і А + В = +548 + (-278) в додатковому коді. Числа представлені в двійковій-десятковому коді 8421 (рис. 2.9).

За наведеними вище правилами для коду 8421 запишемо негативні значення доданків -548 і -278 в зворотному і додатковому кодах (рис. 2.9).

Додавання позитивних 3-розрядних чисел А = 548 і В = 278 в коді 8421

Мал. 2.8. Додавання позитивних 3-розрядних чисел А = 548 і В = 278 в коді 8421

Зробимо складання в зворотному і додатковому кодах чисел A і В (рис. 2.10).

Так як в зворотному коді отримано від'ємне значення суми, необхідно здійснити перетворення зворотного коду в прямий (рис. 2.11).

 
< Попер   ЗМІСТ   Наст >