剑指OFFER 不用加减乘除做加法

戏子无情 提交于 2020-02-06 14:56:28

剑指OFFER 不用加减乘除做加法

分析

根据汇编加法思想,把加法分为两部分,一部分是进位部分,一部分是异或部分,不断循环得出结果

代码

class Solution {
public:
    int Add(int num1, int num2)
    {
        int cb = (num1&num2) << 1;
        if (cb == 0)return num1 ^ num2;
        while (cb != 0)
        {
            cb = (num1&num2) << 1;
            num1 = num1 ^ num2;
            num2 = cb;
        }
        return num1;
    }
};
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!