Помогите пожалуйста! С++, не понимаю как это сделать и что от меня хотят...

0
0
0
0
при умножении ( даже логическом, даже побитовом ) результат равен 0 при равном 0 хотя-бы одном множителе
for (int a, b, i = 0; i < 4; i++)
cout << "a=" << a << "\tb=" << b << "\t(a+b)ab=" << (((a=i&1)^(b=i>>1))&a&b) << endl;
А что тут непонятного!? Вместо значков плюса и точки использовать побитовое "Исключающее ИЛИ" и "И" соответственно. И вычислить результат выражения (A Исключающее ИЛИ B) И A И B; Для A равное 0, B равное нулю; A равное единице, B равное нулю и далее по списку.
Принцип вычисления:
Для исключающего ИЛИ таблица:
a b ответ
0 0 0 Если а и в равны нулю то ноль
1 0 1 Если а или в равны единице то ответ единица
0 1 1
1 1 0 если а и в равны единице то ответ ноль
Если в двух числах будут единицы то И вернет единицу иначе ноль
для первого примера опишу.
Первым вычисляем то что в скобочках
0 Исключающее ИЛИ 0 = 0
потом результат вычисления скобочек и следующего числа
0 И 0 = 0
потом результат предыдущих вычислений и числа
0 И 0 = 0
В результате ответ для A = 0, B = 0 равен тоже 0
А дальше сами как нибудь