不使用运算符 + 和 - ,计算两整数 a 、b 之和。
示例 1:
输入: a = 1, b = 2
输出: 3
示例 2:
输入: a = -2, b = 3
输出: 1
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/sum-of-two-integers
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
题目要求不使用+,-,也就是要我们实现+,-所代表的功能。
在二进制中,
a^b
表示不算进位的和
a&b
表示每一位进位的值
因为进位的值要加到上一位中,因此要计算a+b
,首先要计算a^b
和a&b
,再将a&b<<1
与a^b
相加。
相加的结果有可能还有进位,于是进入了循环,直到进位为0.