371. 两整数之和
描述
给你两个整数 a 和 b ,不使用 运算符 + 和 - ,计算并返回两整数之和。
分析
^ 两数异或表示两数相加且没进位
& 两数想与表示两数相加的进位且向右移1
当进位为0,说明相加结束了。
class Solution {
public int getSum(int a, int b) {
int sum = a;
int progress = b;
while(progress != 0){
int sumtmp = sum ^ progress;
int progresstmp = (sum & progress) << 1;
sum = sumtmp;
progress = progresstmp;
}
return sum;
}
}