Sum of Two Integers

Posted by ysd on September 3, 2016

Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -

用异或算不带进位的和,用与算进位

class Solution {
public:
    int getSum(int a, int b) {
        if (b == 0) return a;
        int sum = a ^ b;
        int carry = (a & b) << 1;
        return getSum(sum, carry);
    }
};