Что такое калькулятор деления двоичных чисел?
Этот инструмент делит одно двоичное число (по основанию 2) на другое и выдаёт сразу частное и остаток — как в двоичной, так и в десятичной системе. Делить «в столбик» в двоичном виде вручную легко с ошибкой, поэтому калькулятор переводит ваши числа в десятичную систему, выполняет целочисленное деление и возвращает результат обратно в двоичный код.
Как пользоваться
Введите делимое (число, которое делят) в первое поле, а делитель — во второе, используя только цифры 0 и 1. Нажмите «Рассчитать», чтобы увидеть частное и остаток. Делитель не может быть равен нулю: деление на ноль не определено.
Разбор формулы
Пусть A и B — двоичные числа на входе. Калькулятор вычисляет \(A_{10} = \text{parseBinary}(A)\) и \(B_{10} = \text{parseBinary}(B)\). Целочисленное частное равно \(Q = \left\lfloor A_{10} / B_{10} \right\rfloor\), а остаток — \(R = A_{10} \bmod B_{10}\). Затем и \(Q\), и \(R\) переводятся обратно в двоичный вид. Именно так компьютеры выполняют беззнаковое целочисленное деление.
$$\begin{gathered} \text{Dividend}_2 \div \text{Divisor}_2 = Q \;\text{remainder}\; R \\[1.5em] \text{where}\quad \left\{ \begin{aligned} Q &= \left\lfloor \frac{A}{B} \right\rfloor \\ R &= A \bmod B \\ A &= (\text{Dividend}_2)_{10} \\ B &= (\text{Divisor}_2)_{10} \end{aligned} \right. \end{gathered}$$
Пример с решением
Разделим 1100₂ на 10₂. В десятичной системе \(1100_2 = 12\), а \(10_2 = 2\). Тогда $$12 \div 2 = 6 \;\text{R}\; 0$$ Переводим обратно: \(6 = 110_2\), а \(0 = 0_2\). Итого: \(1100 \div 10 =\) 110, остаток 0.
Частые вопросы
Можно ли делить дробные двоичные числа? Нет — калькулятор работает с беззнаковыми целыми двоичными числами и возвращает целое частное и остаток.
Что если делитель больше делимого? Частное будет равно 0, а остаток совпадёт с делимым. Например, \(10 \div 100\) даёт частное 0 и остаток 10.
Зачем показывать ещё и десятичный результат? Десятичные эквиваленты помогают быстро проверить ответ и понять, как происходит перевод между системами счисления.
Как делить двоичные числа вручную
Деление двоичных чисел в столбик работает точно так же, как деление десятичных чисел, но на самом деле это проще: на каждом шаге делитель либо подходит к текущим битам (напишите 1), либо не подходит (напишите 0). Нет таблиц умножения для запоминания — вы только когда-либо умножаете делитель на 0 или 1.
Общая процедура вычисления \(\text{Делимое}_2 \div \text{Делитель}_2 = Q \;\text{Ост}\; R\) следующая:
- Выравнивание от самого значимого бита. Начните с левого бита делимого как вашего текущего рабочего значения.
- Сравните текущее рабочее значение с делителем. Если рабочее значение больше или равно делителю, делитель «подходит».
- Напишите бит частного. Напишите 1 сверху, если подходит, в противном случае напишите 0.
- Вычтите. Если вы написали 1, вычтите делитель из рабочего значения; разность становится новым рабочим значением. Если вы написали 0, рабочее значение остаётся неизменным.
- Снесите следующий бит делимого и добавьте его к рабочему значению.
- Повторите шаги 2–5 до тех пор, пока каждый бит делимого не будет снесён.
- Прочитайте результат. Биты, собранные сверху, образуют частное \(Q\); любое оставшееся рабочее значение — это остаток \(R\).
Рабочий пример: \(1011_2 \div 10_2\) (то есть 11 ÷ 2 в десятичной системе).
- Снесите первый бит: рабочее значение =
1. Является ли \(1 \ge 10\)? Нет → бит частного 0. - Снесите следующий бит: рабочее значение =
10. Является ли \(10 \ge 10\)? Да → бит частного 1, вычтите: \(10 - 10 = 0\). - Снесите следующий бит: рабочее значение =
01=1. Является ли \(1 \ge 10\)? Нет → бит частного 0. - Снесите последний бит: рабочее значение =
11. Является ли \(11 \ge 10\)? Да → бит частного 1, вычтите: \(11 - 10 = 1\). - Битов не осталось. Частное =
0101= 101, остаток =1.
Проверка в десятичной системе: \(11 \div 2 = 5\) остаток \(1\), и \(101_2 = 5\), \(1_2 = 1\). ✓
Дополнительные примеры двоичного деления
Каждый пример показывает деление двоичных чисел в столбик рядом с его проверкой в десятичной системе, где соотношение всегда выглядит как \(\text{Делимое} = \text{Делитель}\times Q + R\).
Пример 1 — ненулевой остаток: \(1011_2 \div 10_2\)
- Десятичные эквиваленты: \(1011_2 = 11\), \(10_2 = 2\).
- Деление в столбик дает биты частного
101с оставшимся битом1. - Результат: \(1011_2 \div 10_2 = 101_2 \;\text{Ост}\; 1_2\) → в десятичной системе \(11 \div 2 = 5\;\text{Ост}\;1\).
- Проверка: \(2 \times 5 + 1 = 11\). ✓
Пример 2 — делитель больше делимого: \(100_2 \div 1000_2\)
- Десятичные эквиваленты: \(100_2 = 4\), \(1000_2 = 8\).
- Поскольку делитель (8) больше делимого (4), он никогда не подходит, поэтому каждый бит частного равен 0.
- Результат: \(100_2 \div 1000_2 = 0 \;\text{Ост}\; 100_2\) → в десятичной системе \(4 \div 8 = 0\;\text{Ост}\;4\).
- Проверка: \(8 \times 0 + 4 = 4\). ✓ Когда делимое меньше делителя, частное всегда равно 0, а остаток — само делимое.
Пример 3 — точное деление с проверкой: \(11110_2 \div 110_2\)
- Десятичные эквиваленты: \(11110_2 = 30\), \(110_2 = 6\).
- Сносите биты до достижения
110→ подходит один раз; продолжайте сносить биты, вычитая \(110\) каждый раз, когда она подходит. - Результат: \(11110_2 \div 110_2 = 101_2 \;\text{Ост}\; 0\) → в десятичной системе \(30 \div 6 = 5\;\text{Ост}\;0\).
- Проверьте частное: \(101_2 = 5\) и проверьте \(6 \times 5 + 0 = 30\). ✓ Поскольку остаток равен 0, деление точное.
Вы можете подтвердить любое из этих преобразований с помощью конвертера из двоичной в десятичную систему и подтвердить окончательную проверку, умножив частное и делитель обратно.
Ключевые термины двоичного деления
- Делимое
- Число, которое делится — значение, записанное под скобкой деления. В \(1011_2 \div 10_2\) делимое — это \(1011_2\).
- Делитель
- Число, на которое вы делите. В \(1011_2 \div 10_2\) делитель — это \(10_2\). Делитель не должен быть равен нулю.
- Частное
- Целочисленный результат деления — сколько раз делитель подходит в делимое. Записывается выше скобки, один бит на шаг.
- Остаток
- Значение, остающееся после извлечения наибольшего целого частного: \(R = \text{Делимое} - \text{Делитель}\times Q\). Оно всегда меньше делителя.
- Двоичная (система счисления с основанием 2)
- Система счисления, использующая только цифры 0 и 1, где каждый разряд представляет степень двойки (\(1, 2, 4, 8, \dots\)) вместо степени десяти.
- Бит
- Отдельная двоичная цифра (0 или 1) — сокращение от «двоичная цифра».
- МЗБ / СЗБ
- Младший значимый бит — это правый бит (разряд единиц); старший значимый бит — это левый бит (наибольший разряд). Двоичное деление в столбик обрабатывает биты от СЗБ к МЗБ.
- Целое деление / деление с округлением вниз
- Деление, которое сохраняет только целочисленное частное и отбрасывает дробную часть — точно то, что производит двоичное деление в столбик наряду с остатком.
- Модуль
-
Операция, которая возвращает только остаток от деления (часто записывается как
modили%). Для \(1011_2 \div 10_2\) результат модуля — это \(1_2\).