不使用运算符 +
和-
,计算两整数a
、b
之和。
示例:
若 a = 1 ,b = 2,返回 3。
class Solution {
public:
int getSum(int a, int b) {
int carry;
while(b)
{
carry = a&b;
a =a^b;
b = carry<<1;
}
return a;
}
};
异或是不进位的加,与可以得到需要进的位。