计算整数a、b的和,不允许使用+、-符号
Example:
Given a = 1 and b = 2, return 3.
1:循环异或操作符+与操作符+向左移位操作符(参考:https://www.cnblogs.com/dyzhao-blog/p/5662891.html、https://blog.csdn.net/coder_orz/article/details/52034541)
正数与负数的异或操作(涉及补码):https://blog.csdn.net/romeo12334/article/details/82261319
def getSum(self, a, b):
"""
:type a: int
:type b: int
:rtype: int
"""
while b != 0:
carry = a & b
a = (a ^ b) % 0x100000000
b = (carry << 1) % 0x100000000
return a if a <= 0x7FFFFFFF else a | (~0x100000000+1)
算法题来自:https://leetcode-cn.com/problems/sum-of-two-integers/description/