1. 题目
不使用运算符 +
和 -
???????,计算两整数 ???????a
、b
???????之和。
示例 1:
输入: a = 1, b = 2 输出: 3
示例 2:
输入: a = -2, b = 3 输出: 1
2. 分析
在不采用加法和减法的前提下计算两整数之和,这需要使用与运算符和异或运算符,首先,利用与运算 a & b,计算出 a 和 b 所有进位的位置,这里将 a & b 的值暂时称为carry,然后将其左移一位,这样可以得到进位后最终的位置。然后利用异或运算 a ^ b,由于异或运算下相同位为0,不同位为1,所以可以获取到 a + b 的不进位下的值,
原文:https://www.cnblogs.com/lawliet12/p/10800905.html