Умножение двоичных чисел
При суммировании в разрядах 2, 3, 4 возникло переполнение. Причем переполнение возникло и в старшем разряде, поэтому записываем 1 впереди полученного числа, и получаем: 100011
В десятичной системе счисления данное число имеет следующий вид:
Для перевода необходимо умножить разряд числа на соответствующую ему степень разряда.
100011 = 2 5 *1 + 2 4 *0 + 2 3 *0 + 2 2 *0 + 2 1 *1 + 2 0 *1 = 32 + 0 + 0 + 0 + 2 + 1 = 35
Проверим результат умножения в десятичной системе счисления. Для этого переводим числа 111 и 101 в десятичное представление.
1112 = 2 2 *1 + 2 1 *1 + 2 0 *1 = 4 + 2 + 1 = 7
1012 = 2 2 *1 + 2 1 *0 + 2 0 *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 = 2 8 *1 + 2 7 *0 + 2 6 *1 + 2 5 *0 + 2 4 *0 + 2 3 *0 + 2 2 *1 + 2 1 *0 + 2 0 *0 = 256 + 0 + 64 + 0 + 0 + 0 + 4 + 0 + 0 = 324
Проверим результат умножения в десятичной системе счисления. Для этого переводим числа 11011 и 1100 в десятичное представление.
11011 = 2 4 *1 + 2 3 *1 + 2 2 *0 + 2 1 *1 + 2 0 *1 = 16 + 8 + 0 + 2 + 1 = 27
1100 = 2 3 *1 + 2 2 *1 + 2 1 *0 + 2 0 *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 = 2 6 *1 + 2 5 *0 + 2 4 *0 + 2 3 *0 + 2 2 *1 + 2 1 *0 + 2 0 *0 = 64 + 0 + 0 + 0 + 4 + 0 + 0 = 68
Для перевода дробной части необходимо разделить разряд числа на соответствующую ему степень разряда.
11 = 2 -1 *1 + 2 -2 *1 = 0.75
В итоге получаем число 68.75
Проверим результат умножения в десятичной системе счисления. Для этого переводим числа 1101.11 и 101 в десятичное представление.
1101 = 2 3 *1 + 2 2 *1 + 2 1 *0 + 2 0 *1 = 8 + 4 + 0 + 1 = 13
11 = 2 -1 *1 + 2 -2 *1 = 0.75
В итоге получаем число 13.75
Переводим число: 1012 = 2 2 *1 + 2 1 *0 + 2 0 *1 = 4 + 0 + 1 = 5
13.75 x 5 = 68.75
3.3. Умножение в двоичной системе счисления
Для того, чтобы умножить двоичное число на 2 (десятичная двойка это 10 в двоичной системе) достаточно к умножаемому числу справа приписать один ноль.
Пример 3.3. Выполнить операцию умножения 10101 * 10 = 101010.
10101 = 1*2 4 + 0*2 3 + 1*2 2 + 0*2 1 +1*2 0 = 16 + 4 + 1 = 21
101010 =1*2 5 + 0*2 4 + 1*2 3 + 0*2 2 +1*2 1 +0*2 0 = 32 + 8 + 2 = 42
Если вспомнить, что любое двоичное число разлагается по степеням двойки, то становится ясно, что умножение в двоичной системе счисления сводится к умножению на 10 (то есть на десятичную 2), а стало быть, умножение это ряд последовательных сдвигов. Общее правило таково: как и для десятичных чисел, умножение двоичных выполняется поразрядно. И для каждого разряда второго множителя к первому множителю добавляется один ноль справа.
Пример 3.4. Выполнить операцию умножения 1011 * 101.
Умножение можно свести к сумме трёх поразрядных умножений:
1011 * 1 + 1011 * 0 + 1011 * 100 = 1011 +101100 = 110111.
В столбик это же самое можно записать так:
Умножение в двоичной системе счисления
Для понимания умножения в двоичной системе счисления, необходимо знать правила при сложении в двоичной системе счисления. Разберем все по порядку.
Сложение двоичных чисел.
Способ сложения столбиком в общем-то такой же как и для десятичного числа. То есть, сложение выполняется поразрядно, начиная с младшей цифры. Если при сложении двух цифр получается СУММА больше девяти, то записывается цифра=СУММА- 10, а ЦЕЛАЯ ЧАСТЬ (СУММА 10), добавляется в старшему разряду.
Так и с двоичным числом. Складываем поразрядно, начиная с младшей цифры столбиком, начиная с младшего разряда и используя таблицы двоичного сложения:
При сложении необходимо помнить, что 1+1 дают нуль в данном разряде и единицу переноса в старший («на ум пошло»)
Выполним пример: 10011 + 10001.
| 1 | 0 | 0 | 1 | 1 | |
| 1 | 0 | 0 | 0 | 1 | |
| 1 | 0 | 0 | 1 | 0 | 0 |
Первый разряд: 1+1 = 2. Записываем 0 и 1 на ум пошло.
Второй разряд: 1+0+1(запомненная единица) =2. Записываем 0 и 1 на ум пошло.
Третий разряд: 0+0+1(запомненная единица) = 1. Записываем 1.
Четвертый разряд 0+0=0. Записываем 0.
Пятый разряд 1+1=2. Записываем 0 и добавляем к шестым разрядом 1.
Переведём все три числа в десятичную систему и проверим правильность сложения.
Для проверки и перевода в десятичную систему счисления очень просто. Метод такого перевода даёт наш способ записи чисел. Возьмём, к примеру, следующее двоичное число 1011. Разложим его по степеням двойки. Получим следующее:
1011 = 1 * 2 3 + 0 * 2 2 + 1 * 2 1 + 1 * 2 0
Выполним все записанные действия и получим:
1 * 2 3 + 0 * 2 2 + 1 * 2 1 + 1 * 2 0 = 8 + 0+ 2 + 1 = 11. Таким образом, получаем, что 1011 (двоичное) = 11 (десятичное). Сразу видно и небольшое неудобство двоичной системы. То же самое число, которое, в десятичной системе записано одним знаком в двоичной системе, для своей записи требует четыре знака. Итак, проверяем:
10011 = 1*2 4 + 0*2 3 + 0*2 2 + 1*2 1 + 1*2 0 = 16 + 2 + 1 =19
10001 = 1*2 4 + 0*2 3 + 0*2 2 + 0*2 1 + 1*2 0 = 16 + 1 = 17
100100 = 1*2 5 + 0*2 4 + 0*2 3 + 1*2 2 + 0*2 1 + 0*2 0 =32+4=36
17 + 19 = 36 верное равенство
Теперь приступим к нашей основной части – умножение в двоичной системе счисления.
Умножение в двоичной системе счисления.
Для начала рассмотрим следующий любопытный факт. Для того, чтобы умножить двоичное число на 2 (десятичная двойка это 10 в двоичной системе) достаточно к умножаемому числу слева приписать один ноль.
Пример. 10101 * 10 = 101010
10101 = 1*2 4 + 0*2 3 + 1*2 2 + 0*2 1 +1*2 0 = 16 + 4 + 1 = 21
101010 =1*2 5 + 0*2 4 + 1*2 3 + 0*2 2 +1*2 1 +0*2 0 = 32 + 8 + 2 = 42
Если мы вспомним, что любое двоичное число разлагается по степеням двойки, то становится ясно, что умножение в двоичной системе счисления сводится к умножению на 10 (то есть на десятичную 2), а стало быть, умножение это ряд последовательных сдвигов. Общее правило таково: как и для десятичных чисел, умножение двоичных выполняется поразрядно. И для каждого разряда второго множителя к первому множителю добавляется один ноль справа. Пример (пока не столбиком):
1011 * 101 Это умножение можно свести к сумме трёх поразрядных умножений:
1011 * 1 + 1011 * 0 + 1011 * 100 = 1011 +101100 = 110111
В столбик это же самое можно производить по тому же принципу что и в десятичной системе счисления, при этом используется таблица двоичного умножения:
| 1 | 0 | 1 | 1 | ||
| * | 1 | 0 | 1 | ||
| 1 | 0 | 1 | 1 | ||
| 0 | 0 | 0 | 0 | ||
| 1 | 0 | 1 | 1 | ||
| 1 | 1 | 0 | 1 | 1 | 1 |
101 = 5 (десятичное)
1011 = 11 (десятичное)
110111 = 55 (десятичное)
5*11 = 55 верное равенство.
Внутри компьютера арифметические операции в основном выполняются над двоичными числами. Порядок выполнения операции над двоичными числами проходит как и в десятичной системе счисления.
Умножение в двоичной системе счисления требует для начала понимания сложения в двоичной системе счисления.
Умножение в двоичной системе выполняется довольно просто. Умножение заменяется сдвигом столько раз, сколько разрядов в множителе. В тех разрядах, где значение рано нулю, соответствующая строка в столбике обнуляется. Затем все значения складываются. При расчете используется таблица двоичного умножения:
Умножение в двоичной системе счисления
Умножение в двоичной системе счисления требует знания таблицы умножения двоичных чисел.
Таблица умножения двоичных чисел:
1 * 1 = 1
1 * 0 = 0 и 0 * 1 = 0
0 * 0 = 0
Здесь все числа двоичные.
Умножение в двоичной системе счисления.
Умножать будем «столбиком», как и в десятичной системе счисления:
100
* 11
100
+100
1100
Умножая двоичные числа, мы используем таблицу умножения двоичных чисел. Принцип точно такой же, как и при умножении десятичных чисел.
Умножение в двоичной системе счисления. Рассмотрим ещё один очень простой пример.