Съдържание
Допълнението на 2 е система за представяне на отрицателни двоични числа. Може да се използва и за осъществяване на изваждането - за изваждане на „А“ от „В“, конвертиране на „А“ в отрицателно число и добавяне; това избягва да се налага да се изгражда хардуер за събиране и изваждане. Със системата за преобразуване на двоично число в допълнение от 2 - и обратно - е възможно да се опрости представянето на отрицателното число и да се извърши изваждането. Преобразуването от допълнението на 2 в десетично основно число изисква две стъпки: първо преобразуване в двоично и след това от двоично в десетично.
Етап 1
Представете десетичните числа като двоични числа непрекъснато, като ги разделите на 2 в поредицата и запазите останките. Например, за да преобразувате 13 в двоично, разделете 13 на 2, за да получите 6, а първият остатък е 1. Разделете на 6 на 2, за да получите 3, а вторият остатък е 0. Разделете на 3 с 2, за да получите 1 и третия остатък, който е 1. Разделете 1 на 2, за да получите 0, а остатък, който е 1. Остатъците, в обратния ред на производство, са 1101 и десетичното основно число 13 = двоично 1101. По-лесно е да разпознаете двоично число, отколкото произведох то. Отдясно добавете d X 2 ^ p, където "d" е двоичната цифра, а "p" е позицията, така че 1101 = (1 X 1) + (0 x 2) + (1 x 4) + (1 x 8) = 13.
Стъпка 2
Трансформирайте от двоично в допълнение на две, обърнете битовете и добавете 1. Тогава двоично за 7 ще бъде 00000111 и отрицателно 7 ще бъде 11111001, защото 00000111 с обърнатите битове е 11111000 и 11111000 + 1 = 11111001. Най-лявата цифра е сигнал. Положителните числа имат знаков бит нула, а отрицателните числа имат знаков бит 1. Едно от добрите неща при допълнението на 2 е, че превръщането му в двоично става точно по същия процес на преобразуване от двоично в допълнение от две. Например, за да конвертирате комплемента на две от -7 в 7 двоично, обърнете цифрите и добавете 1. 11111001 обърнато е 00000110 и 00000110 + 1 = 00000111.
Стъпка 3
Преобразувайте от допълнението на 2 в десетично основно число в две стъпки: допълнението на 2 в двоично и след двоично в десетично число. Например, за да конвертирате -21 в допълнение към 2 - 11101011 - в десетичен, първо конвертирайте в двоичен и след това преобразувайте двоичен в десетичен. Обърнете 11101011, за да получите 00010100 и добавете 1, за да получите 00010101, което е 21 в двоично. След това декодирайте двоичния файл, като използвате позиционна нотация, за да получите (0 X 128) + (0 X 64) + (0 X 32) + (1 X 16) + (0 X 8) + (1 X 4) + (0 X 2) + (1 x 1) = 21.