1.题目描述
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
2.代码展示
class Solution {
public:
int Add(int num1
, int num2
)
{
while (num2
!=0)
{
int tmp
= num1
^num2
;
num2
=(num1
&num2
)<<1;
num1
=tmp
;
}
return num1
;
}
};
3.解题思路
模拟加法的过程,如果没有进位,就可以直接输出,有进位就一直加(抑或) 首先判断有没有进位,有进位就进入循环,得出新的二进制序列,继续算进位,然后继续求和,直到没有进位输出。