У нашому попередньому розділі ми дізналися про різні доповнення, такі як доповнення до 1, доповнення до 2, доповнення до 9 і доповнення до 10 тощо. У цьому розділі ми навчимося виконувати такі арифметичні дії, як додавання та віднімання, використовуючи доповнення до 1. Ми можемо виконувати додавання та віднімання, використовуючи доповнення до 1, 2, 9 та 10.
Додавання з використанням доповнення до 1
Існує три різні випадки, коли ми додаємо два двійкові числа, які є такими:
Випадок 1: Додавання додатного числа з від’ємним числом, коли додатне число має більшу величину.
Спочатку обчисліть доповнення до 1 заданого від’ємного числа. Підведіть підсумок із заданим додатним числом. Якщо ми отримуємо кінцевий перенос 1, він додається до LSB.
Приклад: 1101 і -1001
- Спочатку знайдіть доповнення до 1 від’ємного числа 1001. Отже, щоб знайти доповнення до 1, замініть усі 0 на 1 і всі 1 на 0. Доповнення до 1 числа 1001 дорівнює 0110.
- Тепер додайте обидва числа, тобто 1101 і 0110;
1101+0110=1 0011 - Додавши обидва числа, ми отримаємо кінцеве перенесення 1. Ми додамо це кінцеве перенесення до LSB 0011.
0011+1=0100
Випадок 2: Додавання додатного значення з від’ємним значенням у випадку, якщо від’ємне число має вищу величину.
Спочатку обчисліть доповнення до 1 від’ємного значення. Сумуйте його з додатним числом. У цьому випадку ми не отримали кінцевого перенесення. Отже, візьміть доповнення до 1 результату, щоб отримати остаточний результат.
Примітка. Результат є від’ємним значенням.
Приклад: 1101 і -1110
- Спочатку знайдіть доповнення до 1 від’ємного числа 1110. Отже, щоб знайти доповнення до 1, ми змінимо всі 0 на 1, а всі 1 на 0. Доповнення до 1 числа 1110 дорівнює 0001.
- Тепер додайте обидва числа, тобто 1101 і 0001;
1101+0001= 1110 - Тепер знайдіть доповнення до 1 результату 1110, який є кінцевим результатом. Таким чином, доповнення до 1 результату 1110 дорівнює 0001, і ми додаємо від’ємний знак перед числом, щоб ми могли визначити, що це від’ємне число.
Випадок 3: додавання двох від’ємних чисел
У цьому випадку спочатку знайдіть доповнення до 1 обох від’ємних чисел, а потім додайте обидва ці числа. У цьому випадку ми завжди отримуємо кінцеве перенесення, яке додається до LSB, і для отримання кінцевого результату ми беремо доповнення до 1 результату.
Примітка. Результат є від’ємним значенням.
Приклад: -1101 і -1110 у п'ятибітному регістрі
- Спочатку знайдіть доповнення до 1 від’ємних чисел 01101 і 01110. Отже, щоб знайти доповнення до 1, ми змінимо всі 0 на 1, а всі 1 на 0. Доповнення до 1 числа 01110 дорівнює 10001, а 01101 дорівнює 10010.
- Тепер ми додаємо обидва додаткові числа, тобто 10001 і 10010;
10001+10010= 1 00011 - Додавши обидва числа, ми отримаємо кінцеве перенесення 1. Ми додамо це кінцеве перенесення до LSB 00011.
00011+1=00100 - Тепер знайдіть доповнення до 1 результату 00100, який є остаточною відповіддю. Отже, доповнення до 1 результату 00100 дорівнює 110111, і додайте перед числом від’ємний знак, щоб ми могли визначити, що це від’ємне число.
Віднімання з доповненням до 1
Нижче наведено кроки для віднімання двох двійкових чисел за допомогою доповнення до 1
- На першому кроці знайдіть доповнення до 1 від'ємника.
- Далі додайте додаткове число зі зменшеним.
- Якщо є перенесення, додайте перенесення до його LSB. Інакше візьміть доповнення до 1 результату, який буде негативним
Примітка. Значення зменшеного завжди віднімається від зменшеного.
приклад 1: 10101 - 00111
Ми беремо доповнення до 1 від’ємного 00111, що вийде 11000. Тепер підсумуйте їх. Так,
10101+11000 =1 01101.
У наведеному вище результаті ми отримуємо біт переносу 1, тому додайте його до LSB даного результату, тобто 01101+1=01110, що є відповіддю.
приклад 2: 10101 - 10111
Ми беремо доповнення до 1 до від’ємного 10111, що вийде 01000. Тепер додайте обидва числа. Так,
10101+01000 =11101.
У наведеному вище результаті ми не отримали біт переносу. Отже, обчисліть доповнення до 1 результату, тобто 00010, яке є від’ємним числом і остаточною відповіддю.