位运算
- 只想到了用异或计算非进位值,没有想到用与计算找出进位
class Solution {
public:
int Add(int num1, int num2) {
// add表示进位值
int add = num2;
// sum表示总和
int sum = num1;
// 当不再有进位的时候终止循环
while(add != 0) {
// 将每轮的无进位和与进位值做异或求和
int temp = sum ^ add;
// 进位值是用与运算产生的
add = (sum & add) << 1;
// 更新sum为新的和
sum = temp;
}
return sum;
}
};



京公网安备 11010502036488号