【位运算】面试题 17.01. 不用加号的加法

题目:

设计一个函数把两个数字相加。不得使用 + 或者其他算术运算符。

示例:

输入: a = 1, b = 1
输出: 2



解答:

异或运算+与运算
class Solution {
    public int add(int a, int b) {
        while(b!=0){
            int sum = a^b;
            int carry = (a&b)<<1;
            a = sum;
            b = carry;
        }

        return a;
    }
}

 

 
posted @ 2020-10-18 21:31  3KBLACK  阅读(108)  评论(0)    收藏  举报