位运算实现加法运算

Calculate the sum of two integers a and b, but you are not allowed to use the operator + and -.

Example:
Given a = 1 and b = 2, return 3.

int getSum(int a, int b) {
    int ans;
    while(b)
    {
        ans = a^b;
        b = (a&b)<<1;
        a = ans;
    }
    return ans;
}

参考:

http://blog.csdn.net/hackbuteer1/article/details/7390093

posted @ 2016-10-08 23:58  Pickle  阅读(1172)  评论(0编辑  收藏  举报