Заданы двоичные числа x и y. вычислить x*y , если: x=110010101; y=1001; и распишете ход решения, чтобы понять.)
299
360
Ответы на вопрос:
Вычисление производится "в столбик". 1 1 0 0 1 0 1 0 1 х 1 0 0 1 1 1 0 0 1 0 1 0 1 +1 1 0 0 1 0 1 0 1 1 1 1 0 0 0 1 1 1 1 0 1 чтобы не загромождать решение, строки из нулей, полученные умножением на 0, не пишутся. поэтому в суммировании участвуют лишь значения, представляющие собой первый сомножитель, сдвинутый до уровня единиц из разрядов второго сомножителя. в нашем случае это самая правая позиция и позиция, со свигом влево на три разряда.
#include< iostream> #include< cstdlib> #include< ctime> #define abs(x) ((x)< 0 ? -(x) : (x)) using namespace std; int main() { srand(time(0)); int n, k, m = 0; cout < < "n = ", cin > > n; int a[n], b[n]; cout < < "a("< < n< < "): "; for(int i = 0; i < n; i++) cout < < " "< < (a[i] = rand() % (n*2+1) -n); cout < < "\nk = ", cin > > k; for(int i = 0; i < n; i++) if (abs(a[i]) % 10 == k) b[m++] = a[i]; cout < < "b("< < m< < "): "; for(int i = 0; i < m; i++) cout < < " "< < b[i]; return 0; }
Популярно: Информатика
-
musinda19.10.2022 00:15
-
мда2824.11.2022 16:00
-
amelisova0606.06.2023 21:53
-
vipamalia0328.02.2022 02:03
-
babayka7603.07.2022 23:57
-
krayushkinaalina13.01.2021 00:21
-
Ондруй18.02.2021 11:41
-
Tobirama0shok09.06.2022 18:32
-
Hackerapo4ta01.01.2023 09:05
-
pinGvin02205.10.2021 08:03