剑指offer:面试题47——不用加减乘除做加法
程序员文章站
2022-07-10 20:22:32
...
剑指offer:面试题47——不用加减乘除做加法
题目:
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
思路:
class Solution {
public:
int Add(int num1, int num2)
{
int sum; //放和
int carry; //放进位
do
{
sum=num1^num2; //异或后得到的结果是没有进位时产生的和
carry=(num1&num2)<<1; //如果按位与后产生进位,需要左移一位,将当前位的进位加到它的高位上
num1=sum;
num2=carry;
}
while(num2!=0); //当所有进位都被加完时,num2==0
return num1;
}
};
下一篇: docker搭载redis容器