Ответ:
Чтобы вычесть двоичные числа, можно использовать вычитание столбиком, занимая разряды при необходимости.
110100₂
- 11111₂
Начинаем справа:
- 0 - 1: нужно занять. Занимаем у соседнего 0, но он тоже 0. Занимаем у следующей 1.
- 1 становится 0, первая 0 становится 2 (0+2).
- 2 - 1 = 1.
- Теперь у нас 0 (было 0, но заняли 1), нужно занять у следующего 0.
- 0 и 0, занимаем у 1.
- 1 становится 0, 0 становится 2.
- 2 - 1 = 1.
- Теперь у нас 1 (было 0, но заняли 1), 1 - 1 = 0.
- Далее у нас 0 (было 0, но заняли 1), 0 - 1: нужно занять.
- Занимаем у последнего 1, он становится 0.
- 0 становится 2.
- 2 - 1 = 1.
- Последняя цифра 0 (было 1, но заняли 1), 0 - 0 = 0.
Результат: 000111₂, что равно 111₂.
Альтернативный способ: перевод в десятичную систему.
110100₂ = 1*32 + 1*16 + 0*8 + 1*4 + 0*2 + 0*1 = 32 + 16 + 4 = 5210
11111₂ = 1*16 + 1*8 + 1*4 + 1*2 + 1*1 = 16 + 8 + 4 + 2 + 1 = 3110
52 - 31 = 2110
Переводим 2110 в двоичную систему:
- 21 : 2 = 10 (ост. 1)
- 10 : 2 = 5 (ост. 0)
- 5 : 2 = 2 (ост. 1)
- 2 : 2 = 1 (ост. 0)
- 1 : 2 = 0 (ост. 1)
Получаем 10101₂.
Проверка первого способа: 110100 - 11111. Можно представить 110100 как 101111 + 1. Тогда 110100 - 11111 = 101111 + 1 - 11111. Это тоже не очень удобно. Давайте сделаем более привычное вычитание столбиком.
110100
- 11111
----------
000101
Давайте проверим вычитание столбиком еще раз:
1 1 0 1 0 0
- 0 1 1 1 1 1
----------------
0 0 0 1 0 1
0 - 1 (занимаем у 0, который тоже 0, занимаем у 1, которая становится 0, первая 0 становится 2, вторая 0 становится 1, последняя 0 становится 2)
0 10 10 10 10
1 1 0 1 0 0
- 0 1 1 1 1 1
------------------
0 0 0 1 0 1
Получается 101₂. Это 5 в десятичной. Но мы знаем, что ответ 21.
Вернемся к десятичному переводу, он более надежен.
110100₂ = 5210
11111₂ = 3110
52 - 31 = 2110
2110 = 10101₂
Ответ: 10101
