题目:
题解:
MASK1 = 4294967296 # 2^32
MASK2 = 2147483648 # 2^31
MASK3 = 2147483647 # 2^31-1class Solution:def getSum(self, a: int, b: int) -> int:a %= MASK1b %= MASK1while b != 0:carry = ((a & b) << 1) % MASK1a = (a ^ b) % MASK1b = carryif a & MASK2: # 负数return ~((a ^ MASK2) ^ MASK3)else: # 正数return a