写一个函数,求两个整数之和,要求在函数体内不得使用 +、-、×、÷四则运算符号。
样例
输入:num1 = 1 , num2 = 2
输出:3
解题思路
二进制a+b=(a^b)+(a&b)
其中a^b代表不进位的和,a&b代表进位
class Solution {
public:
int add(int num1, int num2){
while(num2){
int sum=num1^num2;
int carry=(num1&num2)<<1;
num1=sum;
num2=carry;
}
return num1;
}
};