不用加减乘除做加法

class Solution {
public:
    int Add(int num1, int num2)
    {
            if(num1 == 0)
                return num2;
            if(num2 == 0)
                return num1;
            
            int sum,carry;
            do 
            {
                 sum = num1^num2;
                   carry = (num1 & num2) << 1;
                
                num1 = sum;
                num2 = carry;
            }
            while(num2 != 0);
                
            return num1;
    }
};

 

posted on 2017-03-01 01:21  123_123  阅读(94)  评论(0编辑  收藏  举报