描述:
给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符。
说明:
a和b都是 32位 整数
可以使用位运算符
样例:
如果 a=1 并且 b=2,返回3
代码实现:
public int aplusb(int a, int b) {
// write your code here, try to do it without arithmetic operators.
if(b==0){
return a;
}else{
int c = a^b;//先异或得到c
int d = (a&b)<<1;//再与,然后左移一位得到d
return aplusb(c,d);
}
}