Есть ответ 👍

Заданы двоичные числа x и y. вычислить x*y , если: x=110010101; y=1001; и распишете ход решения, чтобы понять.)

299
360
Посмотреть ответы 2

Ответы на вопрос:

kalmykov24
4,4(24 оценок)

Вычисление производится "в столбик".             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, не пишутся. поэтому в суммировании участвуют лишь значения, представляющие собой первый сомножитель, сдвинутый до уровня единиц из разрядов второго сомножителя. в нашем случае это самая правая позиция и позиция, со свигом влево на три разряда.
Miki201717
4,6(65 оценок)

#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; }

Популярно: Информатика