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.
一个不适用+ - 解决的算数问题
public class Solution {
public int getSum(int a, int b) {
if(a==0) return b;
if(b==0)return a;
while(b!=0)
{
int val=a&b;
a=a^b;
b=val<<1;
}
return a;
}
}
具体可参考二进制补码
https://en.wikipedia.org/wiki/Two%27s_complement