• Предмет: Информатика
  • Автор: droninaanna85
  • Вопрос задан 6 лет назад

1. Перемножьте два числа в двоичной системе счисления
а) 111110011 и 1000110
б) 101010101 и 1011001
2. Проведите проверку, для этого множители и результат каждого примера переведите из двоичной системы счисления в десятичную.

Ответы

Ответ дал: RussianCloun
0

Ответ:

В объяснении.

Объяснение:

Для умножения чисел в двоичной системе нужно выполнить обычное умножение в столбик, но только переполнение будет возникать не из-за цифры > 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.

Вас заинтересует