题目描述:
不使用运算符 + 和 - ,计算两整数 a 、b 之和。
示例 1:
输入: a = 1, b = 2
输出: 3
示例 2:输入: a = -2, b = 3
输出: 1
算法:
逻辑运算符的应用
class Solution {
public:
int getSum(int a, int b) {
int sum, carry;
do
{
sum = (a ^ b); // 无进位的相加
carry = (unsigned int)(a & b) << 1; // 求进位
a = sum;
b = carry;
}while(b != 0); //直到进位为0
return a;
}
};