Что такое калькулятор вычитания двоичных чисел?
Этот инструмент вычитает одно двоичное число (с основанием 2) из другого и показывает ответ сразу в двоичном и десятичном виде. В двоичной системе используются только цифры 0 и 1, а каждый разряд соответствует степени двойки. Вычитать двоичные числа вручную приходится с заёмами через разряды, и здесь легко ошибиться — калькулятор делает это мгновенно и проверяет результат через обычную десятичную арифметику.
Как пользоваться калькулятором
Введите первое двоичное число (уменьшаемое) и второе двоичное число (вычитаемое), используя только нули и единицы. Нажмите «Рассчитать» — и вы увидите разность в двоичном виде, а также десятичные значения каждого числа и итогового результата. Если второе число больше первого, ответ будет показан как отрицательное двоичное число (со знаком минус впереди).
Разбор формулы
Самый простой и надёжный способ — перевести каждую двоичную строку в десятичное целое число, выполнить обычное вычитание, а затем перевести разность обратно в двоичную систему:
$$\text{результат} = \text{вДвоичное}\left( \text{изДвоичного}(a) - \text{изДвоичного}(b) \right)$$
Например, двоичное число 1010 равно \(1\cdot 8 + 0\cdot 4 + 1\cdot 2 + 0\cdot 1 = 10\) в десятичной системе. Такой подход избавляет от ручного заёма и даёт точно такой же результат.
Пример с решением
Вычтем 11 из 1010. Сначала переведём числа: \(1010_2 = 10_{10}\) и \(11_2 = 3_{10}\). Затем \(10 - 3 = 7\). Переводим 7 обратно в двоичную систему и получаем \(111_2\). Итого: $$1010 - 11 = \mathbf{111}$$
Частые вопросы
Может ли результат быть отрицательным? Да. Если вычитаемое больше уменьшаемого, калькулятор вернёт отрицательное двоичное число, например -101.
Что будет, если ввести недопустимый символ? Допустимыми двоичными цифрами являются только 0 и 1. Любой другой символ воспринимается как 0.
Это то же самое, что вычитание в дополнительном коде? Десятичное значение совпадает, но этот инструмент показывает результат в прямом коде со знаком (минус), а не в виде дополнительного кода фиксированной разрядности.
Как вычитать двоичные числа вручную (метод заимствования)
Прямое двоичное вычитание работает так же, как десятичное вычитание, но в системе с основанием 2 каждый столбец содержит только 0 или 1. Ключевая идея — это заимствование: когда нужно вычесть 1 из 0, вы берёте единицу из следующего столбца слева, превращая текущий столбец в \(10_2\) (что равно 2 в десятичной системе), поэтому \(10_2 - 1_2 = 1_2\).
- Выровняйте числа по правому краю. Напишите большее значение (уменьшаемое) сверху и меньшее значение (вычитаемое) под ним, выровняв наименее значимые биты. Дополните более короткое число ведущими нулями, чтобы оба имели одинаковую ширину.
- Работайте справа налево, один столбец за раз. В каждом столбце вычислите верхний бит минус нижний бит.
- Применяйте правила столбца: \(0-0=0\), \(1-0=1\), \(1-1=0\), и \(0-1\) требует заимствования.
- Правило заимствования: для \(0-1\) возьмите 1 из следующего столбца слева. Текущий столбец становится \(10_2 - 1 = 1\), и вы уменьшаете столбец, из которого заимствовали, на 1 (если этот столбец сам является 0, вы должны заимствовать снова, создавая цепочку влево).
- Прочитайте результат из нижней строки, убрав любые ведущие нули.
Проработанный пример: \(1010_2 - 0011_2\). Оба дополнены до четырёх бит. Проверка десятичной системы: \(10 - 3\).
- Столбец 0 (крайний справа): верхний 0, нижний 1 → \(0-1\) требует заимствования. Заимствуем из столбца 1, получая \(10_2 - 1 = 1\). Бит результата = 1. Верхний бит столбца 1 уменьшается с 1 на 0.
- Столбец 1: после заимствования верхний — 0, нижний — 1 → \(0-1\) требует заимствования. Заимствуем из столбца 2, получая \(10_2 - 1 = 1\). Бит результата = 1. Верхний бит столбца 2 уменьшается с 0... он равен 0, поэтому заимствование переходит в столбец 3, заставляя столбец 2 прочитать \(10_2\), а затем заимствовав 1, остаётся 1.
- Столбец 2: после цепного заимствования он содержит 1, нижний — 0 → \(1-0=0\). Бит результата = 0.
- Столбец 3: верхний был 1, но он заимствовал 1 для столбца 2, оставляя 0; нижний — 0 → \(0-0=0\). Бит результата = 0.
Чтение снизу вверх по столбцам дает \(0111_2\), т. е. 111\(_2\), что равно \(7\) в десятичной системе — совпадает с \(10 - 3 = 7\).
Дополнительные проработанные примеры
Каждый пример показывает двоичное вычитание и его десятичный эквивалент, так что вы можете проверить арифметику.
| Двоичное вычитание | Проверка десятичной системы | Результат (двоичный) | Результат (десятичный) |
|---|---|---|---|
| \(1101_2 - 101_2\) | \(13 - 5\) | 1000\(_2\) | 8 |
| \(11_2 - 1010_2\) | \(3 - 10\) | \(-111_2\) | \(-7\) |
| \(110_2 - 110_2\) | \(6 - 6\) | \(0_2\) | 0 |
Пример 1 — \(1101_2 - 101_2\). Дополните вычитаемое до \(0101_2\). Столбец за столбцом справа: \(1-1=0\); \(0-0=0\); \(1-1=0\); \(1-0=1\). Это дает \(1000_2 = 8\), подтверждая \(13 - 5 = 8\).
Пример 2 — \(11_2 - 1010_2\) (отрицательный результат). Здесь вычитаемое (\(10\)) больше уменьшаемого (\(3\)), поэтому ответ отрицательный. Поменяйте и вычтите меньшее из большего: \(1010_2 - 0011_2 = 0111_2 = 7\), затем восстановите знак, чтобы получить \(-111_2 = -7\). Это совпадает с \(3 - 10 = -7\).
Пример 3 — \(110_2 - 110_2\) (равные значения). Каждый столбец вычитается в 0 без заимствований: \(0-0\), \(1-1\), \(1-1\) все дают 0, поэтому разница составляет \(0_2 = 0\).
Ключевые термины
- Уменьшаемое
- Число, из которого вычитают — значение, написанное сверху. В \(1010_2 - 11_2\) уменьшаемое — это \(1010_2\).
- Вычитаемое
- Число, которое вычитают — значение, написанное снизу. В \(1010_2 - 11_2\) вычитаемое — это \(11_2\).
- Разность
- Результат вычитания: \(\text{уменьшаемое} - \text{вычитаемое}\).
- Заимствование
- Когда столбец требует \(0-1\), единица берется из следующего столбца выше, так что текущий столбец становится \(10_2\) (значение 2), позволяя \(10_2 - 1 = 1\). Столбец, из которого заимствуют, уменьшается на 1, и заимствование может переходить дальше влево, если тот столбец также равен 0.
- База-2 / Двоичная
- Позиционная система счисления, использующая только цифры 0 и 1, где каждое разрядное значение является степенью двойки (\(\dots, 8, 4, 2, 1\)).
- Бит (двоичная цифра)
- Одна двоичная цифра, либо 0, либо 1. Группа битов представляет большее число; например, \(1010_2\) имеет четыре бита.
- Дополнение до двух
- Обычный способ представления знаковых целых чисел в компьютерах. Отрицательное значение формируется путём инверсии всех битов его величины и добавления 1, что позволяет вычитание выполняться как сложение отрицаемого числа в пределах фиксированной ширины бита.
- Знак-величина
- Альтернативное знаковое представление, в котором крайний левый бит указывает знак (0 = положительный, 1 = отрицательный), а остальные биты дают величину. Легко читается, но имеет два кодирования нуля и менее удобно для арифметики, чем дополнение до двух.