不用加减乘除做加法

这个题目在剑指offer上有,在此做个记录。

int add(int num1, int num2){
    int sum,carry;
    do{
        sum=num1^num2;
        carry=(num1&num2)<<1;
        num1=sum;
        num2=carry;
    }while(num2!=0);
    return num1;
}

 

posted on 2014-09-16 13:21  高山漏水  阅读(148)  评论(0编辑  收藏  举报