Вопрос:

Найти разность чисел в двоичной системе счисления: 10001-1011=

Ответ:

Решение:

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

  10001
- 1011
------

Начнем с младших разрядов:

  1. 1 - 1 = 0

  2. 0 - 1. Занимаем у старшего разряда. 10 - 1 = 1. У старшего разряда осталось 0.

  3. 0 - 0 = 0.

  4. 0 - 1. Занимаем у старшего разряда. 10 - 1 = 1. У старшего разряда ничего не осталось.

  10001
- 1011
------
10110

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

\( 10001_2 = 1*2^4 + 0*2^3 + 0*2^2 + 0*2^1 + 1*2^0 = 16 + 0 + 0 + 0 + 1 = 17_{10} \)

\( 1011_2 = 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 = 8 + 0 + 2 + 1 = 11_{10} \)

\( 17_{10} - 11_{10} = 6_{10} \)

\( 10110_2 = 1*2^4 + 0*2^3 + 1*2^2 + 1*2^1 + 0*2^0 = 16 + 0 + 4 + 2 + 0 = 22_{10} \)

Обнаружена ошибка в вычислениях. Попробуем еще раз:

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

  10001
- 1011
------
  1. 1 - 1 = 0.

  2. 0 - 1. Занимаем у старшего разряда. 10 - 1 = 1. У занятого разряда теперь 0.

  3. 0 - 0 = 0.

  4. 0 - 1. Занимаем у старшего разряда. 10 - 1 = 1. У занятого разряда осталось 0.

  5. 0 - 0 = 0.

  10001
- 1011
------
01010

Таким образом, \( 10001_2 - 1011_2 = 1010_2 \).

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

\( 10001_2 = 17_{10} \)

\( 1011_2 = 11_{10} \)

\( 17_{10} - 11_{10} = 6_{10} \)

\( 1010_2 = 1*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 8 + 0 + 2 + 0 = 10_{10} \)

Обнаружена ошибка. Попробуем еще раз, внимательнее:

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

  1 0 0 0 1
- 1 0 1 1
----------
  1. 1 - 1 = 0.

  2. 0 - 1. Занимаем у следующего разряда. Становится 10. 10 - 1 = 1. У старшего разряда стало 0.

  3. 0 - 0 = 0.

  4. 0 - 1. Занимаем у старшего разряда. Становится 10. 10 - 1 = 1. У старшего разряда осталось 0.

  5. 0 - (ничего) = 0.

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

Результат: \( 1010_2 \).

Проверка:

\( 10001_2 = 1 \times 2^4 + 0 \times 2^3 + 0 \times 2^2 + 0 \times 2^1 + 1 \times 2^0 = 16 + 1 = 17_{10} \)

\( 1011_2 = 1 \times 2^3 + 0 \times 2^2 + 1 \times 2^1 + 1 \times 2^0 = 8 + 2 + 1 = 11_{10} \)

\( 17_{10} - 11_{10} = 6_{10} \)

\( 1010_2 = 1 \times 2^3 + 0 \times 2^2 + 1 \times 2^1 + 0 \times 2^0 = 8 + 2 = 10_{10} \)

Обнаружена ошибка. Правильный результат вычитания 17-11 = 6. Двоичное число 1010 равно 10. Это не совпадает.

Еще раз выполним вычитание в столбик:

  1 0 0 0 1
- 1 0 1 1
----------
  1. 1 - 1 = 0.

  2. 0 - 1. Занимаем у старшего разряда (который 0). Этот старший разряд занимает у следующего (который тоже 0). И так далее, пока не займем у первой единицы слева. Получается:

    0 10 0 0 1 (первый займ)

    0 1 10 0 1 (второй займ)

    0 1 1 10 1 (третий займ)

    Теперь можем вычитать:

    0 1 1 10 1
    - 0 1 0 1 1 (дописываем 0 для выравнивания разрядов)

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

    0 0 1 0 1 0

  3. 10 - 1 = 1.

  4. 1 - 0 = 1.

  5. 1 - 1 = 0.

  6. 0 - 0 = 0.

Результат: \( 1010_2 \).

Проверка:

\( 10001_2 = 17_{10} \)

\( 1011_2 = 11_{10} \)

\( 17_{10} - 11_{10} = 6_{10} \)

\( 1010_2 = 1 \times 2^3 + 0 \times 2^2 + 1 \times 2^1 + 0 \times 2^0 = 8 + 2 = 10_{10} \)

Ошибка повторяется. Проверим варианты ответа.

Варианты:

  • 110 = \( 1*2^2 + 1*2^1 + 0*2^0 = 4 + 2 = 6_{10} \)
  • 1110 = \( 1*2^3 + 1*2^2 + 1*2^1 + 0*2^0 = 8 + 4 + 2 = 14_{10} \)
  • 1010 = \( 1*2^3 + 0*2^2 + 1*2^1 + 0*2^0 = 8 + 2 = 10_{10} \)

Так как \( 17_{10} - 11_{10} = 6_{10} \), то правильный ответ в двоичной системе — \( 110_2 \).

Ответ: 110.

Похожие