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

Для виконання арифметичних дій застосовують спакований формат: після введення кожна цифра займає лише одну тетраду, та, крім того, одна тетрада (молодша) приділяється коду знака числа, а якщо старша лишається вільною, до неї записується нуль. Наприклад, у зображенні -9110 = 0000 1001 0001 11012 число займає 2 байти, молодшою тетрадою 1101 кодується знак мінус, а старша тетрада нульова.

§1.4. ДВІЙКОВА АРИФМЕТИКА

1.4.1. Загальні відомості

Арифметичні операції над операндами (багатоцифровими числами) виконуються в будь-якій системі числення за правилами дій над однорозрядними операндами a, b. Найпрострішою є таблиця дій у двійковій арифметиці (табл. 1.9). У ній зазначено, що під час додавання в деякому розряді чисел двох одиниць утворюється перенесення c (Carry) до старшого розряду, а сума в цьому розряді  s=0, тобто 1+1=102. Так само й під час віднімання, якщо зменшуване  менше за від’ємник, утворюється позика b' (Borroy) зі старшого  розряду, що дорівнює двом одиницям молодшого, тому різниця в ньому s'=1.

                               Таблиця 1.9                                                    Таблиця 1.10

і

cbai

ci+1

si

0

000

0

0

1

001

0

1

2

010

0

1

3

011

1

0

4

100

0

1

5

101

1

0

6

110

1

0

7

111

1

1

аb

а+b

сs

a-b

b/ s/

ab

a:b

00

00

00

0

-

01

01

11

0

0

10

01

01

0

-

11

10

00

1

1

      011...1 + 1 = 100...0;

k одиниць   k нулів

  100...0 - 1 = 011...1

k нулів         k одиниць

Слід зауважити, що в  багатоцифровому числі з низкою одиниць, розташованих поруч (показано під  таблицею), додавання або перенесення до молодшої з них одиниці перетворює всю низку на нулі, а перший нуль ліворуч від неї – на одиницю. І, навпаки, під час віднімання позика одиниці перетворює низку нулів на одиниці, а одиницю ліворуч – на нуль. З урахуванням цього фактично додавання двох чисел зводиться до підсумовування трьох компонентів          (табл. 1.10): доданків i-го розряду  ai, bi та перенесення до цього розряду з попереднього ci, у підсумку маємо повну суму в цьому розряді si і перенесення до старшого розряду ci+1.

1.4.2. Алгебричне додавання в двійковій системі

Як і в десятковій системі X10, у двійковій системі X2 (рис. 1.9,а) додавання виконується за два заходи: підсумовування розрядів ai, bi утворює підрозрядну суму s' та перенесення ci, додавання яких дає остаточну суму si. Апаратурно додавання за такою схемою можна реалізувати двома двовходовими півсуматорами: у першому визначається ai+bi, у другому s'+ci, або одним тривходовим суматором: ai+bi+ci.

Операцію віднімання, аби не застосовувати додаткових пристроїв, виконують шляхом алгебричного додавання в доповняльному Xдоп або оберненому Xоб кодах, оперуючи зі знаковими бітами як зі звичайними розрядами чисел. Зрозуміло, що модуль суми двох чисел має задовольняти вимогу правильного вибору їх масштабу:

                                                                                                               | A+B | <2n,(1.3)

інакше відбудеться переповнення розрядної сітки – сума не вміститься у відведені для неї n розрядів.

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