题目
思路
用二进制的方法计算,先得到进位的值,用无符号整型表示。该位的值可以用异或表示,进位值用两数相与再往前移一位得到。
代码
class Solution {
public:
int getSum(int a, int b) {
while(b){
unsigned int carry=(unsigned int)(a&b)<<1;
a=a^b;
b=carry;
}
return a;
}
};