- 假设两个加数分别为num1,num2。
- 利用的位运算的技巧:两个二进制数按位异或得到的是两数相加后不考虑进位的结果。进位的求法是:两个加数相与,然后左移1位的结果。
- 主要代码实现:
//计算num1+num2的值
while(num2)
{
int temp=num1^num2;
num1=temp;
num2=(num1&num2)<<1;
}
//计算num1+num2的值
while(num2)
{
int temp=num1^num2;
num1=temp;
num2=(num1&num2)<<1;
}