Калькулятор двоичного вычитания
Выполняйте двоичное вычитание с обычным заёмом или дополнительным кодом, с пошаговым решением и десятичными эквивалентами.
Введите уменьшаемое и вычитаемое как двоичные числа, выберите метод вычисления и сразу получите результат.
Калькулятор двоичного вычитания
Выполняйте двоичное вычитание с обычным заёмом или дополнительным кодом, с пошаговым решением и десятичными эквивалентами.
Вычитайте столбец за столбцом справа налево, занимая у старших битов при необходимости, — классический метод вычисления на бумаге.
О двоичном вычитании
Двоичное вычитание — одна из четырёх фундаментальных операций двоичной арифметики. Обычно оно выполняется двумя основными способами: методом обычного заёма и методом дополнительного кода. Понимание обоих полезно студентам компьютерных наук, разработчикам цифровой электроники и всем, кто работает на уровне битов.
Метод обычного заёма похож на письменное вычитание в десятичной системе. Вы выравниваете два двоичных числа по крайним правым битам и вычитаете столбец за столбцом справа налево. Когда верхняя цифра меньше нижней (то есть нужно вычесть 1 из 0), вы занимаете из следующего старшего столбца, временно уменьшая его на одну позицию и добавляя 2 к текущей позиции — это двоичный аналог заёма 10 в десятичном вычитании. Процесс продолжается, пока не будут обработаны все столбцы. Метод интуитивен и легко проверяется вручную.
Метод дополнительного кода — это способ, которым практически каждый современный процессор и микроконтроллер фактически реализует вычитание в аппаратуре. Чтобы вычесть B из A, сначала вычислите дополнительный код B: инвертируйте все биты B (получив обратный код), а затем прибавьте 1. Затем сложите A и дополнительный код B стандартным двоичным сложением. Любой перенос за пределы старшего значащего бита отбрасывается. Результат — A − B в представлении дополнительного кода. Такой подход предпочтителен в аппаратуре, потому что устраняет необходимость в отдельной схеме вычитания: сумматора достаточно и для сложения, и для вычитания.
Дополнительный код также является универсальным стандартом представления целых чисел со знаком в компьютерной аппаратуре. В n-битной системе дополнительного кода положительные числа представляются обычным образом, а отрицательные — как их дополнительный код. Диапазон n-битных целых чисел со знаком в дополнительном коде составляет от −2^(n−1) до 2^(n−1) − 1. Для 8-битных целых это от −128 до 127. Такое представление упрощает обнаружение переполнения: переполнение возникает, когда перенос в знаковый бит отличается от переноса из него.
Оба метода дают один и тот же результат, когда уменьшаемое больше или равно вычитаемому. Если уменьшаемое меньше, метод обычного заёма потребовал бы отрицательного ведущего заёма, а метод дополнительного кода естественно выдаёт корректный результат со знаком в пределах выбранной разрядности. Этот калькулятор обрабатывает оба сценария и предупреждает, когда в режиме обычного заёма результат был бы отрицательным.
Примеры двоичного вычитания
Практические примеры, демонстрирующие метод обычного заёма и метод дополнительного кода.
| Операция | Двоичный результат | Десятичная проверка |
|---|---|---|
| 1101 − 101 (обычный заём) | 1000 | 13 − 5 = 8 ✓. В старших битах заём не нужен; заём происходит в столбце единиц. |
| 10010 − 1011 (обычный заём) | 111 | 18 − 11 = 7 ✓. Требуется несколько заёмов через четыре столбца. |
| 1100 − 111 (дополнительный код) | 101 | 12 − 7 = 5 ✓. Дополнительный код 0111 равен 1001; 1100 + 1001 = 10101; отбросить перенос → 0101. |
| 11110000 − 10101011 (обычный заём) | 1000101 | 240 − 171 = 69 ✓. Сложное вычитание с несколькими заёмами через восемь двоичных цифр. |
Как пользоваться калькулятором двоичного вычитания
- Введите уменьшаемое (число, из которого вычитают) в первое поле, используя только двоичные цифры 0 и 1.
- Введите вычитаемое (число, которое нужно вычесть) во второе поле.
- Выберите метод вычисления: 'Обычный заём' для классического подхода по столбцам или 'Дополнительный код' для процессорного метода.
- Включите 'Показать пошаговый процесс', чтобы увидеть промежуточные шаги, заёмы или преобразование в дополнительный код.
- Нажмите 'Вычислить вычитание', чтобы увидеть двоичную разность и её десятичный эквивалент.
FAQ по двоичному вычитанию
Что такое заём в двоичном вычитании?
Заём в двоичном вычитании — это процесс взятия единицы из бита более высокого порядка, когда текущая позиция не может выполнить вычитание (то есть когда нужно вычесть 1 из 0). Вы занимаете 1 из следующего старшего столбца, что добавляет 2 (двоичное 10) к текущему столбцу и превращает 0 − 1 в 10 − 1 = 1. Это точный двоичный аналог заёма 10 в десятичном вычитании.
Что такое дополнительный код и зачем он используется?
Дополнительный код — это способ представления целых чисел со знаком в двоичной форме, а также техника вычитания. Чтобы вычислить дополнительный код числа, инвертируйте все его биты (получив обратный код), затем прибавьте 1. Процессоры используют дополнительный код, потому что он позволяет одному и тому же аппаратному сумматору выполнять и сложение, и вычитание: вычесть B из A — то же самое, что прибавить к A дополнительный код B. Кроме того, существует только одно представление нуля, что устраняет неоднозначность старых форматов знак-модуль и обратного кода.
Что происходит, когда результат отрицательный?
Если уменьшаемое меньше вычитаемого, истинный результат отрицательный. В режиме обычного заёма калькулятор отмечает эту ситуацию, потому что результат нельзя представить как положительную двоичную строку. В режиме дополнительного кода результат корректно представляется как отрицательное число в дополнительном коде, а калькулятор показывает десятичный эквивалент со знаком.
Как двоичное вычитание используется внутри CPU?
CPU реализуют вычитание методом дополнительного кода с помощью арифметико-логического устройства (ALU). ALU содержит сумматор, а один управляющий сигнал инвертирует биты вычитаемого и устанавливает входной перенос в 1, фактически добавляя дополнительный код. Поэтому отдельная схема вычитания не нужна, что экономит транзисторы и упрощает конструкцию. Перенос из старшего значащего бита используется для обнаружения переполнения.
Изменится ли результат, если сменить метод?
В случаях, когда уменьшаемое больше или равно вычитаемому, оба метода всегда дают один и тот же конечный числовой результат, просто через разные промежуточные шаги. Метод обычного заёма работает непосредственно с исходными цифрами; метод дополнительного кода сначала делает вычитаемое отрицательным, затем выполняет сложение. Оба дают одну и ту же правильную разность.
Можно ли вычесть большее двоичное число из меньшего?
Да, но результат будет отрицательным. В режиме обычного заёма этот калькулятор покажет предупреждение, поскольку положительная двоичная строка не может представить отрицательный результат. Переключитесь в режим дополнительного кода, чтобы обрабатывать отрицательные разности: результат будет кодировкой отрицательного значения в дополнительном коде, а десятичный эквивалент со знаком будет показан со знаком минус.