位运算

位运算

    位运算  加法

    

//递归版本的加法实现
int Add(int a, int b)
{
    return b ? Add(a^b, (a&b)<<1) : a;
    /*
    if(b)
        return plus_rec(a^b, (a&b)<<1);
    else
        return a;
        */
}

//该为迭代版本
int Add_iter(int a, int b)
{
    int ans;
    while(b)
    {
        ans = a^b;
        b = (a&b)<<1;
        a = ans;
    }
    return ans;
}


你可能感兴趣的:(位运算)