как вычитать числа в двоичной системе счисления

Чтобы понять, как вычитать числа в двоичной системе счисления, нужно освоить несколько основных принципов. Мы будем опираться на те же правила, что и в десятичной системе, но с учетом особенностей двоичной системы.

Шаг 1: Основы двоичной системы счисления

В двоичной системе используются только две цифры: 0 и 1. Каждое число представляется как последовательность этих цифр, где каждая цифра называется битом. Число в двоичной системе счисления имеет основание 2, и каждый бит в числе представляет собой степень двойки.

Пример:

  • 110121101_2 (двоичное) = 1⋅23+1⋅22+0⋅21+1⋅20=8+4+0+1=13101 cdot 2^3 + 1 cdot 2^2 + 0 cdot 2^1 + 1 cdot 2^0 = 8 + 4 + 0 + 1 = 13_{10} (десятичное).

Шаг 2: Основы вычитания в двоичной системе

Вычитание в двоичной системе работает по тем же принципам, что и в десятичной, но с некоторыми отличиями. Напоминаем основные правила:

  1. 0−0=00 — 0 = 0

  2. 1−0=11 — 0 = 1

  3. 1−1=01 — 1 = 0

  4. 0−10 — 1 не может быть выполнено напрямую, потому что 0 меньше 1. Для этого мы используем операцию заимствования (также называемую заимствование или кресление).

Шаг 3: Пример вычитания двоичных чисел

Рассмотрим пример:

1001_2 — 0101_2

  1. Запишем числа по столбцам:

    yaml
    1001
  • 0101


markdown
2. Начнем вычитание справа налево. - **1 - 1** = 0, записываем 0. - **0 - 0** = 0, записываем 0. - **0 - 1** не можем выполнить, так как 0 меньше 1. Поэтому заимствуем единицу у следующего разряда. В двоичной системе для заимствования уменьшаем разряд на 1 и добавляем 2 (два в двоичной системе). Теперь мы должны вычесть **10 - 1** (что эквивалентно 2 - 1 в десятичной системе). Получается 1. - **1 (после заимствования) - 0** = 1, записываем 1. В итоге:

1001

  • 0101


0100

shell
Таким образом, ( 1001_2 - 0101_2 = 0100_2 ). ### Шаг 4: Алгоритм вычитания в двоичной системе 1. Записать два числа под друг другом, выравнив их по разрядам. 2. Вычитать биты по столбцам, начиная справа налево. 3. Если результат вычитания в каком-то разряде будет 0 - 1 (когда верхний бит меньше нижнего), заимствовать единицу из следующего разряда слева. 4. Продолжать процесс, пока не закончатся все биты. ### Шаг 5: Пример с заимствованием Рассмотрим более сложный пример, где потребуется несколько заимствований. **11100_2 - 10101_2** 1. Запишем числа:

11100

  • 10101


markdown
2. Начнем вычитание: - **0 - 1** не можем вычесть, заимствуем 1 у следующего разряда. - Теперь у нас 10 - 1, результат = 1. Записываем 1. - **0 - 0** = 0, записываем 0. - **1 - 1** = 0, записываем 0. - **1 - 0** = 1, записываем 1. Результат:

11100

  • 10101


00111

diff
То есть ( 11100_2 - 10101_2 = 00111_2 ). ### Шаг 6: Применение принципов в сложных случаях Для более сложных чисел, например, с большим количеством разрядов, алгоритм остается тем же. Однако важно помнить: - Числа в двоичной системе представляются в степени двойки, и при вычитании важно правильно учитывать заимствования, чтобы сохранить точность. - Каждый разряд в двоичной системе представляет собой **степень двойки**, и каждый сдвиг влево или вправо влияет на величину числа.
Scroll to Top

Карта сайта