解题思路
^ 异或运算符可以看成是不进位的加法
, 因此我们可以有以下思路,不断将num1与num2进行不进位加法,但将进位的值赋值num2,此后继续进行不进位加法,直到进位值为0。
int Add(int num1, int num2)
{
while(num2)
{
int t = (num1 & num2) << 1;
num1 ^= num2;
num2 = t;
}
return num1;
}
^ 异或运算符可以看成是不进位的加法
, 因此我们可以有以下思路,不断将num1与num2进行不进位加法,但将进位的值赋值num2,此后继续进行不进位加法,直到进位值为0。
int Add(int num1, int num2)
{
while(num2)
{
int t = (num1 & num2) << 1;
num1 ^= num2;
num2 = t;
}
return num1;
}