Что такое калькулятор умножения двоичных чисел?
Этот инструмент перемножает два двоичных числа (в системе счисления по основанию 2) и возвращает произведение в виде двоичной строки, а также десятичные эквиваленты обоих исходных чисел и результата. Это универсальный математический инструмент — двоичная арифметика работает одинаково во всём мире, поэтому привязки к какой-либо стране или юрисдикции здесь нет.
Как пользоваться калькулятором
Введите двоичное число (только цифры 0 и 1) в каждое поле. Любые другие символы игнорируются, поэтому пробелы или случайные знаки не испортят результат. Нажмите «Рассчитать», чтобы увидеть произведение в двоичном и десятичном виде.
Разбор формулы
Умножение в двоичной системе можно выполнять побитово методом сдвига и сложения, но самый простой способ — перевести каждое число в десятичную систему, перемножить, а затем перевести результат обратно в двоичный вид. Формально:
$$\text{P}_2 = \text{bin}\left(\text{dec}\left(\text{A}_2\right) \times \text{dec}\left(\text{B}_2\right)\right)$$Например, двоичное число 1010 равно десятичному 10, потому что \(1\cdot 8 + 0\cdot 4 + 1\cdot 2 + 0\cdot 1 = 10\).
Пример с решением
Умножим 1010 × 11. Сначала переведём в десятичную систему: \(1010_2 = 10\), а \(11_2 = 3\). Перемножим в десятичной системе:
$$10 \times 3 = 30$$Переведём 30 обратно в двоичный вид: \(30 = 16 + 8 + 4 + 2 = 11110_2\). Итак, \(1010 \times 11 = \mathbf{11110}\) в двоичной системе.
Частые вопросы
Что будет, если ввести не двоичную цифру? Все цифры, кроме 0 и 1, удаляются перед расчётом, поэтому в вычислениях используются только допустимые двоичные разряды.
Работает ли калькулятор с большими числами? Да — числа обрабатываются как 64-битные целые, поэтому даже длинные двоичные строки остаются точными в пределах этого ограничения.
Зачем показывать десятичные значения? Десятичная форма помогает проверить перевод и наглядно понять, какие именно числа перемножаются.
Как умножать двоичные числа вручную
Умножение двоичных чисел использует ту же процедуру сдвига и сложения длинного умножения, что и десятичное, но это намного проще, потому что каждая цифра множителя либо 0, либо 1. Умножение на 1 копирует множимое; умножение на 0 дает строку нулей. Единственная реальная работа — это сдвиг каждого частичного произведения влево на количество его битов и затем сложение строк вместе согласно правилам двоичного переноса.
Подробный пример для \((1010)_2 \times (11)_2\):
- Подготовьте операнды. Множимое \(A = 1010_2 = 10\), множитель \(B = 11_2 = 3\). Ожидаемое произведение \(10 \times 3 = 30\).
- Умножьте на самый правый бит множителя (бит 0 = 1). Так как бит равен 1, скопируйте множимое: частичное произведение \(= 1010\), сдвинуто влево на 0 позиций.
- Умножьте на следующий бит множителя (бит 1 = 1). Бит равен 1, поэтому снова скопируйте множимое и сдвиньте его влево на 1 позицию (добавьте один нулевой бит справа): частичное произведение \(= 10100\).
- Пропустите строки только из нулей. Если бит множителя был 0, его строка состояла бы только из нулей и могла быть пропущена. Здесь обе строки сохраняются.
- Сложите частичные произведения с помощью двоичного сложения. Выровняйте по разрядам и сложите, переносясь всякий раз, когда две единицы встречаются (\(1+1 = 10\), пишите 0 и переносите 1):
\(\;\;\;01010\)
\(+\,10100\)
\(=\,11110\) - Прочитайте результат. Двоичное произведение \((11110)_2\), что равно 30 в десятичной системе — подтверждая \(10 \times 3 = 30\). Вы можете проверить сам шаг сложения как 11110.
Коротко: сгенерируйте одну сдвинутую строку на каждый бит множителя (нулевые строки для битов 0), затем просуммируйте каждую строку, используя двоичное сложение. Полное произведение \(m\)-битового числа и \(n\)-битового числа никогда не превышает \(m+n\) битов.
Больше примеров с решениями
Каждый пример показывает десятичное преобразование обоих входных значений, сдвинутые и сложенные частичные произведения и окончательное двоичное произведение.
Пример 1 — \(111_2 \times 101_2\) (7 × 5 = 35)
- Преобразуйте: \(111_2 = 7\), \(101_2 = 5\).
- Биты множителя (справа налево): 1, 0, 1:
- бит 0 = 1 \(\Rightarrow 111\) (сдвиг 0)
- бит 1 = 0 \(\Rightarrow\) нулевая строка, пропущена
- бит 2 = 1 \(\Rightarrow 11100\) (сдвиг 2)
- Сложение: \(00111 + 11100 = 100011\).
- Результат: \((100011)_2 = \) 35, совпадает с \(7 \times 5 = 35\).
Пример 2 — \(1100_2 \times 1010_2\) (12 × 10 = 120)
- Преобразуйте: \(1100_2 = 12\), \(1010_2 = 10\).
- Биты множителя \(1010_2\) (справа налево): 0, 1, 0, 1:
- бит 0 = 0 \(\Rightarrow\) пропустить
- бит 1 = 1 \(\Rightarrow 11000\) (сдвиг 1)
- бит 2 = 0 \(\Rightarrow\) пропустить
- бит 3 = 1 \(\Rightarrow 1100000\) (сдвиг 3)
- Сложение: \(0011000 + 1100000 = 1111000\).
- Результат: \((1111000)_2 = \) 120, совпадает с \(12 \times 10 = 120\).
Пример 3 — \(1_2 \times 1101_2\) (однобитовый множитель, 1 × 13 = 13)
- Преобразуйте: \(1_2 = 1\), \(1101_2 = 13\).
- Множитель \(1\) имеет единственный бит, равный 1, поэтому существует ровно одно частичное произведение без сдвига: \(1101\).
- С одной строкой нечего складывать.
- Результат: \((1101)_2 = 13\). Умножение любого двоичного числа на \(1\) оставляет его неизменным, как и в десятичной системе.