不使用加减运算符实现计算两数之和。
使用异或运算符可以得到无进位的两数之和,1^1=0 1^0=1 0^0=0
使用与运算符可以的到进位和,1&1=1 1&0=0 0&0=0
class Solution {
public int getSum(int a, int b) {
int res=0;
int sum=a^b;
int f=(a&b)<<1;
return f==0?sum:getSum(sum,f);
}
}
不使用加减运算符实现计算两数之和。
使用异或运算符可以得到无进位的两数之和,1^1=0 1^0=1 0^0=0
使用与运算符可以的到进位和,1&1=1 1&0=0 0&0=0
class Solution {
public int getSum(int a, int b) {
int res=0;
int sum=a^b;
int f=(a&b)<<1;
return f==0?sum:getSum(sum,f);
}
}