1. Перемножьте два числа в двоичной системе счисления
а) 111110011 и 1000110
б) 101010101 и 1011001
2. Проведите проверку, для этого множители и результат каждого примера переведите из двоичной системы счисления в десятичную.
Ответы
Ответ:
В объяснении.
Объяснение:
Для умножения чисел в двоичной системе нужно выполнить обычное умножение в столбик, но только переполнение будет возникать не из-за цифры > 9, а из-за цифры > 1. Умножение в столбик таких больших чисел делать не совсем удобно, поэтому мы сначала переведём двоичные числа в десятичные, а уже потом выполним умножение.
Чтобы выполнить перевод из двоичной системы счисления в десятичную, нужно представить это число в виде суммы произведений степеней основания двоичной системы счисления на цифры в разрядах двоичного числа. Звучит сложно, но на самом деле всё просто. Возьмём первый множитель первого примера.
111110011 = 1 ∙ 2^8 + 1 ∙ 2^7 + 1 ∙ 2^6 + 1 ∙ 2^5 + 1 ∙ 2^4 + 0 ∙ 2^3 + 0 ∙ 2^2 + 1 ∙ 2^1 + 1 ∙ 2^0 = 256 + 128 + 64 + 32 + 16 + 0 + 0 + 2 + 1 = 499.
Со вторыми множителем нужно сделать всё то же самое.
1000110 = 1 ∙ 2^6 + 0 ∙ 2^5 + 0 ∙ 2^4 + 0 ∙ 2^3 + 1 ∙ 2^2 + 1 ∙ 2^1 + 0 ∙ 2^0 = 64 + 0 + 0 + 0 + 4 + 2 + 0 = 70.
Теперь выполним уже привычное умножение десятичных цифр.
499 * 70 = 34930.
Далее нужно перевести это число в двоичную систему счисления. Чтобы выполнить такой перевод, нужно делить число на два до тех пор, пока в частном не останется единица.
34930 : 2 = 17465(0)
17465 : 2 = 8732(1)
8732 : 2 = 4366(0)
4366 : 2 = 2183(0)
2183 : 2 = 1091(1)
1091 : 2 = 545(1)
545 : 2 = 272(1)
272 : 2 = 136(0)
136 : 2 = 68(0)
68 : 2 = 34(0)
34 : 2 = 17(0)
17 : 2 = 8(1)
8 : 2 = 4(0)
4 : 2 = 2(0)
2 : 2 = 1(0)
Теперь нужно записать все остатки (вместе с последней единицей) в обратном порядке.
Получается, что при умножении чисел из первого примера получается число 1000100001110010.
Со вторым примеров делаем всё то же, что делали с первым.
101010101 = 1 ∙ 2^8 + 0 ∙ 2^7 + 1 ∙ 2^6 + 0 ∙ 2^5 + 1 ∙ 2^4 + 0 ∙ 2^3 + 1 ∙ 2^2 + 0 ∙ 2^1 + 1 ∙ 2^0 = 256 + 0 + 64 + 0 + 16 + 0 + 4 + 0 + 1 = 341.
1011001 = 1 ∙ 2^6 + 0 ∙ 2^5 + 1 ∙ 2^4 + 1 ∙ 2^3 + 0 ∙ 2^2 + 0 ∙ 2^1 + 1 ∙ 2^0 = 64 + 0 + 16 + 8 + 0 + 0 + 1 = 89.
341 * 89 = 30349.
30349 : 2 = 15174(1)
15174 : 2 = 7587(0)
7587 : 2 = 3793(1)
3793 : 2 = 1896(1)
1896 : 2 = 948(0)
948 : 2 = 474(0)
474 : 2 = 237(0)
237 : 2 = 118(1)
118 : 2 = 59(0)
59 : 2 = 29(1)
29 : 2 = 14(1)
14 : 2 = 7(0)
7 : 2 = 3(1)
3 : 2 = 1(1)
Получается, что при умножении чисел из второго примера получается число 111011010001101.