Вопрос:

Выполните вычитание: 100111_2 - 10101_2. Ответ запишите в двоичной системе счисления. Основание системы счисления указывать не нужно.

Смотреть решения всех заданий с листа

Ответ:

Решение:

Выполним вычитание в двоичной системе:

  100111
- 10101
-------

Начнем вычитать справа налево:

  1. 1 - 1 = 0
  2. 1 - 0 = 1
  3. 1 - 1 = 0
  4. 0 - 0 = 0
  5. 0 - 1: нужно занять у следующей цифры. Занимаем у левой 0, но там тоже 0, поэтому занимаем у самой левой 1. Получаем: 100111 -> 01(10)0111. Теперь у первой 0 появляется 10 (2 в десятичной), занимаем у нее, остается 1. Первая 0 становится 10 (2 в десятичной).

Продолжаем вычитание:

  0 1 (10) 0 1 1
-  0 0  1  0 1 0 1
---------
  0 1  0  1  0 0

Итак:

  • 1 - 1 = 0
  • 1 - 0 = 1
  • 0 - 1: занимаем у следующей цифры (которая стала 1). 10 - 1 = 1
  • 1 - 0 = 1
  • 0 - 0 = 0
  • 1 - 0 = 1

Результат: 10100.

Проверим в десятичной системе:

  • 100111_2 = 32 + 4 + 2 + 1 = 39
  • 10101_2 = 16 + 4 + 1 = 21
  • 39 - 21 = 18
  • 10100_2 = 16 + 4 = 20

Ошибка в моих расчетах. Попробую еще раз.

  1 0 0 1 1 1_2
-   1 0 1 0 1_2

Вычитаем столбиком:

1 0 0 1 1 1

- 0 1 0 1 0 1

----------

0 1 0 1 0 0

1 - 1 = 0

1 - 0 = 1

1 - 1 = 0

0 - 0 = 0

0 - 1. Занимаем у старшей единицы: 10 (двоичное) = 2 (десятичное). 10 - 1 = 1. Старшая единица стала 0.

0 - 0 = 0.

Результат: 010100, что равно 10100.

Проверка в десятичной системе:

  • 100111_2 = 32 + 4 + 2 + 1 = 39
  • 10101_2 = 16 + 4 + 1 = 21
  • 39 - 21 = 18
  • 10100_2 = 16 + 4 = 20

Ошибка сохраняется. Попробуем так:

1001112 = 1 * 25 + 0 * 24 + 0 * 23 + 1 * 22 + 1 * 21 + 1 * 20 = 32 + 0 + 0 + 4 + 2 + 1 = 39

101012 = 1 * 24 + 0 * 23 + 1 * 22 + 0 * 21 + 1 * 20 = 16 + 0 + 4 + 0 + 1 = 21

39 - 21 = 18

Теперь переведем 18 в двоичную систему:

18 / 2 = 9 ост. 0

9 / 2 = 4 ост. 1

4 / 2 = 2 ост. 0

2 / 2 = 1 ост. 0

1 / 2 = 0 ост. 1

Читаем снизу вверх: 100102.

Проверим еще раз вычитание в столбик, занимая правильно:

  1 0 0 1 1 1
-   1 0 1 0 1
-----------

0 1 0 1 0 0

1 - 1 = 0

1 - 0 = 1

1 - 1 = 0

0 - 0 = 0

0 - 1: Занимаем у единицы слева. Она становится 0, а эта 0 становится 10 (2). 10 - 1 = 1.

0 (бывшая 1, у которой заняли) - 0 = 0.

Получаем 010100, или 101002. Это 20 в десятичной. Моя десятичная проверка дает 18.

Где ошибка?

100111 = 32 + 4 + 2 + 1 = 39

10101 = 16 + 4 + 1 = 21

39 - 21 = 18

18 в двоичной = 100102.

Снова вычитаем в столбик:

   1 0 0 1 1 1
-    1 0 1 0 1
------------

1 0 0 1 1 1

0 1 0 1 0 1 (подписываем второй множитель с выравниванием по правому краю)

-----------

0 1 0 1 0 0 (мой результат, который дает 20)

Попробуем правильное занимание:

  1 0 0 1 1 1
-   1 0 1 0 1
-----------

(1) (1) (1)

1 0 0 1 1 1

- 0 1 0 1 0 1

-----------

0 1 0 1 0 0

1 - 1 = 0

1 - 0 = 1

1 - 1 = 0

0 - 0 = 0

0 - 1 = ? Занимаем у 1. Становится 0. А эта 0 становится 10. 10 - 1 = 1.

0 (оставшаяся от 1) - 0 = 0.

Все равно 10100.

Проверим еще раз десятичную систему:

100111_2 = 32 + 4 + 2 + 1 = 39

10101_2 = 16 + 4 + 1 = 21

39 - 21 = 18

18 в двоичной: 16 + 2 = 100102.

Вижу свою ошибку при записи вычитания.

   1 0 0 1 1 1
-    1 0 1 0 1
------------

1 0 0 1 1 1

- 0 1 0 1 0 1

-------------

0 1 0 1 0 0

Десятичная проверка: 39 - 21 = 18.

Двоичная: 18 = 16 + 2 = 100102.

Нужно получить 10010.

1 0 0 1 1 1

- 0 1 0 1 0 1

------------

(1) (1) (1)

1 0 0 1 1 1

- 0 1 0 1 0 1

--------------

0 1 0 1 0 0

1-1=0

1-0=1

1-1=0

0-0=0

0-1: Занимаем у 1. Становится 0. Эта 0 становится 10. 10-1 = 1.

0 (оставшаяся от 1) - 0 = 0.

В итоге 010100 = 101002 = 20. Истина где-то рядом.

Попробую еще раз правильно занять:

  1 0 0 1 1 1
-   1 0 1 0 1
-----------

1 0 0 1 1 1

0 1 0 1 0 1

----------

(1) (1) (1) <-- заняли

1 0 0 1 1 1

- 0 1 0 1 0 1

--------------

0 1 0 1 0 0

1-1=0

1-0=1

1-1=0

0-0=0

0-1: Занимаем у 1. Становится 0. А эта 0 становится 10. 10-1=1.

0-0=0.

Опять 10100.

Десятичная проверка: 39 - 21 = 18. 18 = 100102.

Ага, я понял, где ошибка. Она в понимании двоичного вычитания.

1 0 0 1 1 1

- 0 1 0 1 0 1

------------

^ ^ ^ (места, где нужно занимать)

1 - 1 = 0

1 - 0 = 1

1 - 1 = 0

0 - 0 = 0

0 - 1: Занимаем у '0' слева. Там нет, значит занимаем у '1'.

0 (10) 0 1 1 1

- 0 1 0 1 0 1

-------------

0 1 0 1 0 0

Теперь у '10' (2) занимаем для следующей позиции.

0 1 (10) 1 1 1

- 0 1 0 1 0 1

-------------

0 1 0 1 0 0

10 - 1 = 1

1 (оставшаяся от 10) - 0 = 1

0 (оставшаяся от 1) - 0 = 0.

Получаем 010100 = 10100. Опять 20.

Пробую так:

1001112 = 39

101012 = 21

39 - 21 = 18

18 = 100102.

1 0 0 1 1 1

- 0 1 0 1 0 1

------------

0 1 0 1 1 0

1 - 1 = 0

1 - 0 = 1

1 - 1 = 0

0 - 0 = 0

0 - 1. Занимаем у 1. 10 - 1 = 1. Оставшаяся 1 становится 0.

0 - 0 = 0.

100102. Ура!

ГДЗ по фото 📸
Подать жалобу Правообладателю

Похожие