Page 17 - 149
P. 17
(інверсний код) числа заміною нулів одиницями, а
одиниць - нулями
Доповнення до 2 +1 Етап 4 Додати одиницю до інверсного
(інверсний код) 1111 0111 коду
Одержаний результат є додатковим кодом від’ємного числа -9,
оскільки знаковий біт рівний одиниці.
Зворотна процедура одержання десяткового еквівалента числа
11110000, записаного у формі додаткового коду, буде такою:
Додатковий код 11110000 Етап 1 Запис додаткового коду
Доповнення до 1 00001111 Етап 2 Одержання інверсного коду
+1 Етап 3 Додати 1
Двійкове число 00010000=16 (10)
Оскільки запис у додатковому коді вказує, що число від’ємне, то
остаточно будемо мати: 1111 0000=-16.
МП не виконує прямого віднімання і оперує над додатковими кодами.
Нехай потрібно скласти десяткові числа +7 і -3. Процедура віднімання
виконується у такий спосіб:
1-число +(+7) +00000111 Додатковий код
2-число (-3) 11111101 Додатковий код
Результат (+4) 100000100
Знехтувати переповненням.
Старший біт є переповненням 8-розрядного регістра і ним нехтують.
Одержана сума 0000 0100 (2) еквівалентна +4 (10).
Розглянемо ще один приклад, віднімання від числа 3 числа 8.
1-е число +(+3) +0000 0011
2-е число (-8) 1111 1000
Результат (-5) 1111 1011 (2)=-5 (10)
Операції ділення та множення змішаних двійкових чисел вимагають
спеціальних алгоритмів, які тут розглядатись не будуть.
МП може оперувати також з числами, які представлені в BDC-коді,
але при цьому процедури є складнішими. Наприклад, сумування чисел,
представлених в двійково-десятковому коді 8421, виконується в два етапи.
На першому етапі обчислюється попередня сума Sn, причому сумування
відбувається за звичайними правилами двійкової арифметики, але з
наступними уточненнями:
-якщо в і-тій тетраді Sn i попередньої суми утворюється природній
перенос, то він враховується в наступній (і+1)-й тетраді;
17