Особливості віднімання чисел у двійковій системі числення за допомогою додаткового коду

Віднімання в двійковій системі числення за допомогою додаткового коду замінюється операцією додавання прямого та додаткового кодів, або додаткового та додаткового кодів.

Наприклад, якщо за основу подання коду взято один байт, то для подання числа буде відведено 7 розрядів, а для запису коду знака – один розряд.

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

Приклад 3. Виконати віднімання двох чисел у двійковій системі числення за допомогою додаткового коду 1210 – 710.

Замінимо операцію віднімання операцією додавання :

1210 – 710 = 1210 + ( – 710) = 510.

Перетворюємо числа із десяткової системи числення в двійкову :

1210 = 11002,

710 = 01112.

Кількість розрядів у двійкових кодах чисел 12 та -7 однакова, тому додаємо знаковий розряд та записуємо прямий код чисел :

– прямий код числа + 1210,

– прямой код числа – 710.

Отримуємо додатковий код числа – 710 у двійковій системі числення :

– прямий код,

– зворотний код,

– додатковий код.

Додаємо до прямого коду числа + 12 додатковий код числа – 7 за правилами додавання в двійковій системі числення :

 

 

Випадає за розрядну сітку

1210 – 710 = 11002 – 10012 = 01012.

Зробимо перевірку :

01012 = 510.

Приклад 2. Виконати віднімання двох чисел у двійковій системі числення за допомогою додаткового коду 12210 – 3410.

Замінимо операцію віднімання операцією додавання:

12210 – 3410 = 12210 + ( – 3410) = 8810.

Перетворюємо числа з десяткової системи числення в двійкову:

12210 = 11110102,

3410 = 1000102.

Перед тим, як перетворювати число – 34 у додатковий код треба підрахувати кількість розрядів у двійкових числах та зрівняти необхідну кількість розрядів, додавши нулі у старшому розряді.

12210 = 11110102 – 7 розрядів,

3410 = 1000102 – 6 розрядів.

Існує різниця в один розряд, тому у двійковому коді числа 34 треба у старшому розряді додати 0 :

3410 = 01000102.

Додаємо знаковий розряд та записуємо прямий код чисел :

– прямий код числа + 12210,

– прямий код числа – 3410.

Отримуємо додатковий код числа – 3410 у двійковій системі числення :

– прямий код,

1.10111012 – зворотній код,

1.10111102 – додатковий код.

Додаємо до прямого коду числа 122 додатковий код числа 34 у двійковій системі числення :

 

 

випадає за розрядну сітку.

12210 – 342 = 11110102 – 1000102 = 10110002.

Зробимо перевірку :

10110002 = 8810.