不用加减乘除做加法

sum 是不带进位的和

in是进位

 

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

 

posted on 2016-04-22 21:05  RenewDo  阅读(131)  评论(0编辑  收藏  举报

导航