бхідно:
Розділити десяткове число на 2 до отримання цілого приватного та залишку
Залишки запам'ятати і перевірити, чи дорівнює приватна нулю - якщо немає, прийняти його за нове ділене і повернутися до пункту 1.
Якщо приватне одно нулю, виконати всі отримані при розподілі залишки в порядку зворотному їх отриманню.
Елементарні мікропроцесори зобов'язані володіти тільки операцією арифметичного додавання, інші операції (віднімання, множення, ділення) отримані програмним способом т.к., з елементарних апаратних засобів відомий лише суматор. Розвинені мікропроцесорні комплекти знімають це обмеження, і виконання операцій здійснюється найбільш оптимальним способом; або апаратним (бажаний спосіб з точки зору швидкодії), або програмним (при цьому спрощується внутрішня структура мікропроцесора). br/>В В
А + В:
0 1 1 0 1
+ 1 1 0 0 0
0 0 0 1 0 1
А-В:
Переводимо десяткові унітарні числа в двійковий позиційний код A = 110002, B = 1011012
Т.к. мікропроцесор, по суті, здійснює операцію A + (-B), то число B необхідно представити в додатковому коді, у вигляді негативного числа:-B = 10010
Безпосередньо виконуємо операцію віднімання
1 0 0 0
+ 1 0 0 1 0
0 1 0 1 0
Переводимо назад, результат: 10101 = -21. В-А:
При відніманні з більшого числа меншого результат виходить в додатковому коді. Для перевірки знайдемо відповідь по модулю. Результат проінвертіруем (00001) і додамо 1 до молодшого розряду (000102 = | -210 |). p align="justify"> При відніманні з більшого числа меншого результат виходить у прямому коді, а переповненням нехтують (вичитали пятіразрядний числа, а відповідь отримана шестіразрядний, отже, старший розряд не враховується). Повторимо виконання операції зі зміною аргументів, тобто B - A,
-А = 001112
0 1 1 0 1
+ 1 0 0 1 1 1
0 1 0 0
Додамо 1 до молодшого розряду:
1 0 1 0 0
+ 0 0 0 0 1
0 1 0 1 & B:
0 1 1 0 1
& 1 1 0 0 0
0 1 0 0 0:
0 1 1 0 11 1 0 0 0
1 1 1 0 1 B:
0 1 1 0 1
1 1 0 0 0
0 1 0 1 0