Умножение двоичных чисел
Назначение сервиса. Онлайн-калькулятор предназначен для умножения двоичных чисел. Пример №1. Умножить двоичные числа111
и 101
.
Решение.
1 | 1 | 1 | ||
1 | 0 | 1 | ||
= | = | = | = | = |
1 | 1 | 1 | ||
0 | 0 | 0 | ||
1 | 1 | 1 | ||
= | = | = | = | = |
0 | 0 | 0 | 1 | 1 |
При суммировании в разрядах 2, 3, 4 возникло переполнение. Причем переполнение возникло и в старшем разряде, поэтому записываем 1 впереди полученного числа, и получаем: 100011
В десятичной системе счисления данное число имеет следующий вид:
Для перевода необходимо умножить разряд числа на соответствующую ему степень разряда.
100011 = 25*1 + 24*0 + 23*0 + 22*0 + 21*1 + 20*1 = 32 + 0 + 0 + 0 + 2 + 1 = 35
Проверим результат умножения в десятичной системе счисления. Для этого переводим числа 111 и 101 в десятичное представление.
1112 = 22*1 + 21*1 + 20*1 = 4 + 2 + 1 = 7
1012 = 22*1 + 21*0 + 20*1 = 4 + 0 + 1 = 5
7 x 5 = 35
Пример №2. Найти двоичное произведение 11011*1100
. Перевести ответ в десятичную систему.
Решение. Умножение начинаем с младших разрядов: если текущий разряд второго числа равен 0, то везде записываем нули, если 1 - то переписываем первое число.
1 | 1 | 0 | 1 | 1 | |||
1 | 1 | 0 | 0 | ||||
= | = | = | = | = | = | = | = |
0 | 0 | 0 | 0 | 0 | |||
0 | 0 | 0 | 0 | 0 | |||
1 | 1 | 0 | 1 | 1 | |||
1 | 1 | 0 | 1 | 1 | |||
= | = | = | = | = | = | = | = |
0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 |
При суммировании в разрядах 3, 4, 5, 6, 7 возникло переполнение. Причем переполнение возникло и в старшем разряде, поэтому записываем 1 впереди полученного числа, и получаем: 101000100
В десятичной системе счисления данное число имеет следующий вид:
101000100 = 28*1 + 27*0 + 26*1 + 25*0 + 24*0 + 23*0 + 22*1 + 21*0 + 20*0 = 256 + 0 + 64 + 0 + 0 + 0 + 4 + 0 + 0 = 324
Проверим результат умножения в десятичной системе счисления. Для этого переводим числа 11011 и 1100 в десятичное представление.
11011 = 24*1 + 23*1 + 22*0 + 21*1 + 20*1 = 16 + 8 + 0 + 2 + 1 = 27
1100 = 23*1 + 22*1 + 21*0 + 20*0 = 8 + 4 + 0 + 0 = 12
27 x 12 = 324
Пример №3. 1101.11*101
Будем умножать числа без учета плавающей точки: 110111 x 101
Умножение начинаем с младших разрядов: если текущий разряд второго числа равен 0, то везде записываем нули, если 1 - то переписываем первое число.
1 | 1 | 0 | 1 | 1 | 1 | ||
1 | 0 | 1 | |||||
= | = | = | = | = | = | = | = |
1 | 1 | 0 | 1 | 1 | 1 | ||
0 | 0 | 0 | 0 | 0 | 0 | ||
1 | 1 | 0 | 1 | 1 | 1 | ||
= | = | = | = | = | = | = | = |
0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 |
При суммировании в разрядах 2, 3, 4, 5, 6, 7 возникло переполнение. Причем переполнение возникло и в старшем разряде, поэтому записываем 1 впереди полученного числа, и получаем: 100010011
Поскольку умножали без учета плавающей запятой, то окончательный результат запишем как: 1000100.11
В десятичной системе счисления данное число имеет следующий вид:
1000100 = 26*1 + 25*0 + 24*0 + 23*0 + 22*1 + 21*0 + 20*0 = 64 + 0 + 0 + 0 + 4 + 0 + 0 = 68
Для перевода дробной части необходимо разделить разряд числа на соответствующую ему степень разряда.
11 = 2-1*1 + 2-2*1 = 0.75
В итоге получаем число 68.75
Проверим результат умножения в десятичной системе счисления. Для этого переводим числа 1101.11 и 101 в десятичное представление.
1101 = 23*1 + 22*1 + 21*0 + 20*1 = 8 + 4 + 0 + 1 = 13
11 = 2-1*1 + 2-2*1 = 0.75
В итоге получаем число 13.75
Переводим число: 1012 = 22*1 + 21*0 + 20*1 = 4 + 0 + 1 = 5
13.75 x 5 = 68.75