easy peasy python(comments, works for negative) solution using bit
\t#         1.Why carry is a&b:\n\t#         If a and b are both 1 at the same digit, it creates one carry.\n\t#         Because you can only use 0 and 1 in bin
\t#         1.Why carry is a&b:\n\t#         If a and b are both 1 at the same digit, it creates one carry.\n\t#         Because you can only use 0 and 1 in binary, if you add 1+1 together, it will roll that over to the next digit, and the value will be 0 at this digit.\n\t#         if they are both 0 or only one is 1, it doesn\'t need to carry.\n\n\t#         Use ^ operation between a and b to find the different bit\n\t#         In my understanding, using ^ operator is kind of adding a and b together (a+b) but ignore the digit that a and b are both 1,\n\t#         because we already took care of this in step1.\t\n\t\n\t\n\tdef getSum(self, a: int, b: int) -> int:\n\t\tcarry = 0\n        mask = 0xffffffff\n        while b & mask != 0:\n            carry = (a & b) << 1\n            a = a ^ b\n            b = carry\n        \n        # for overflow condition like\n        # -1\n        #  1\n        return a&mask if b > mask else a\n\t\t\n\t\t\n\t#more explanation\n\thttps://leetcode.com/problems/sum-of-two-integers/discuss/167931/Solution-with-ACTUAL-explanation-(how-you-would-work-this-out)
['Bit Manipulation', 'Python', 'Python3']