То, как аппаратные средства это делают, это инвертирует второй операнд и выполняет сложение с переносом на младшую битовую дорожку в 1. Таким образом, сложение - это сложение с переносом в ноль, а подчиненное - этодобавьте с отмеченным операндом и набором для переноса.
Вы можете сделать это в стиле карандаша и бумаги, где вы позаимствуете число рядом с ним, но оно выглядит немного глупо по сравнению с десятичными числами.С десятичными числами, скажем, 1000 минус 1, ноль справа становится 10, потому что это основание 10, тогда 0 рядом с ним должен заимствовать, а также сделать 10, но затем одолжить одно вправо, сделав 9, этопродолжается до тех пор, пока ваша верхняя строка не станет 9 9 10, и вы вычтете 0 0 1 и получите 999. С основанием 2 0b1000 (что является восьмым десятичным знаком) минус 0b0001, то же самое происходит, что ноль справа занимает слева или становится 2 или 0b10, потому чтоэто основание 2, ноль рядом с ним должен занимать, а также становится 0b10, затем смещает единицу вправо, превращая его в 1 и т. д., так что ваша верхняя строка равна 1 1 0b10, а нижняя строка равна 0 0 1, вычтитестолбцов и вы получите 0b111 или 7 десятичных дробей.
Таким образом, все нули минус все, верхняя строка равна 1 1 1 1 1 1 1 0b10 после первого заимствования, нижняя строка остается равной 0 0 0 0 0 00 0, вычтите столбцы и вы получите 0 0 0 0 0 0 0 1.