您的位置:首页 > 其它

求俩个数的和,要求不能用加减乘除四则运算。

2017-09-26 09:39 225 查看
本题源自剑指offer

------------------------------------------------------------------------------ 

既然不能用四则运算,因此我们就想用位运算来求解。

 1 我们先对数进行异或,(不考虑进位)

 2 然后为俩个数进行与运算,再左移一位,(考虑进位)

 3对前面的运算结果相加,即重复前俩步直到与运算的结果为0

int Add(int num1, int num2)
{
do{
int sum=num1^num2;
int carry=(num1&num2)<<1;
num1=sum;
num2=carry;
}while(num2!=0);
return num1;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐