输入两个无符号整数x, y, 用位操作实现无符号整数的乘法运算。不用考虑整数的溢出。
输入:
235 657
输出:
154395
#include <stdio.h> #include <stdlib.h>#include <string.h>int main(void){int i,res=0;unsigned int x,y;scanf("%d%d",&x,&y);for (i=0 ; i<32 ; i++)//32位长度为满足测试数据,大小可根据实际修改 {if ((y&1) == 1)//y的最低位是否为1 {res += x;//计算相乘的结果 }x <<= 1;y >>= 1;}printf("%d",res);return 0;}