题目描述
写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。
class Solution {
public:
int add(int a, int b) {
//分为非进位数n和进位数s
//ni = (ai^bi)
//si+1 = (ai&bi)
while(b!=0){
int c = (a&b&INT_MAX)<<1;//统计进位 同时当ab为负数使 做移位操作不考虑符号位
a^=b;//统计非进位
b = c;
}
return a;
}
};