利用位运算求二个整数的和:原理异或运算是无进制加法,与运算可求得进位
class Solution {
public:
int getSum(int a, int b) {
int res;
int flag=a&b;//进位
while(flag)
{
res=(a^b); //xor
flag=flag<<1;//进位左移
a=res;
b=flag;
flag=a&b;//进位
}
return a^b;
}
};
本文介绍了一种使用位运算实现两个整数相加的方法。通过异或运算实现无进位加法,与运算获取进位,并通过循环迭代直至没有进位完成整个加法过程。
1281

被折叠的 条评论
为什么被折叠?



