输入两个无符号整数x, y, 用位操作实现无符号整数的乘法运算。不用考虑整数的溢出。
输入:
235 657
输出:
154395
#include<stdio.h>
#include<iostream>
#include<cctype>
#include<algorithm>
using namespace std;
int main(int argc, char** argv) {
unsigned int x, y;
cin>> x>> y;
int res=0;
for(int i=0;i<32;i++){
if((y&1)==1)res+=x; //判断最低位是否有效,有效相加
x=x<<1;
y=y>>1; //取y的最低位
}
cout<<res<<"\n";
return 0;
}