题目:
不使用运算符 + 和 - ,计算两整数 a 、b 之和。
示例 1:
输入: a = 1, b = 2
输出: 3
示例 2:
输入: a = -2, b = 3
输出: 1
代码如下:
// An highlighted block
public int getSum(int a, int b) {
if((a & b) == 0)//递归出口:就是不会产生进位
return a ^ b;//或者用 a | b;
return getSum(a ^ b, (a & b) << 1);//忽略进位的值,再加上应该进位的值
}