题目描述
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
class Solution {
public:
//使用位运算,先使用&找出要进位的位然后左移
//然后把两数异或,得到不进位相加的和
//然后判断进位是否为0,不为零就循环这个过程
int Add(int num1, int num2)
{
int w = (num1 & num2) << 1;
int ans = num1 ^ num2;
while (w)
{
num1 = ans;
num2 = w;
w = (num1 & num2) << 1;
ans = num1 ^ num2;
}
return ans;
}
};