//特别注意,这一题是关于位运算的典型问题
思想是分别处理相同位和不同位的二进制数,使用& 和 ^两个操作
&得到的结果是除以2后得到
^得到的则无需处理
Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -.
Example:
Given a = 1 and b = 2, return 3.
class Solution {
public:
int getSum(int a, int b) {
if(b==0)
return a;
int sum,carry;
sum = a^b;
carry = (a&b)<<1;
return getSum(sum,carry);
}
};