Sum of Two Integers
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.
Credits:Special thanks to @fujiaozhu for adding this problem and creating all test cases.
Solution
public class Solution {
public int getSum(int a, int b) {
int result = 0;
int carry = 0;
for (int i = 0; i < 32; i++) {
int currentA = (a >> i) & 1;
int currentB = (b >> i) & 1;
int currentResult = currentA ^ currentB ^ carry;
carry = (currentA & currentB) | (currentA | currentB) & (carry);
result = result | (currentResult << i);
}
return result;
}
}