sum of two integers

文章目录

题意介绍


输入两个数,返回两个数的和,要求不能用加减号

解题


可以借助位运算。加法包括进位和相加两个过程,其中进位可以用与运算,相加可以用异或运算,
对两个数求与和异或,如果与为0,即进位为0,则直接输出异或结果,否则,将进位左移一位,然后继续与异或结果相加,直到进位为0,输出结果。

代码


1
2
3
4
5
6
7
8
9
10
11
12
13
class Solution{
public :
int (int a,int b){
while(a)
{
b = a^b;
a = a&b;
a = a<<1;
}
return b;
}
};