不用加减乘除做加法

class Solution {
public:
    int Add(int num1, int num2)
    {
        int nOne = 0;
        int nTwo = 0;
        
        do{
            nOne = num1 ^ num2;            //异或
            nTwo = (num1 & num2) << 1;    //保存进位
            
            num1 = nOne;
            num2 = nTwo;
        }while(nTwo != 0)
            
        return nOne;
    }
};

 

posted on 2017-04-08 21:56  123_123  阅读(83)  评论(0编辑  收藏  举报