【位运算】面试题 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; } }
题目:
设计一个函数把两个数字相加。不得使用 + 或者其他算术运算符。
示例:
输入: 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; } }