Python solution with no "+-*/%", completely bit manipulation guaranteed
\nclass Solution(object):\n    def getSum(self, a, b):\n        """\n        :type a: int\n        :type b: int\n        :rtype: int\n        """\n        # 32 
```\nclass Solution(object):\n    def getSum(self, a, b):\n        """\n        :type a: int\n        :type b: int\n        :rtype: int\n        """\n        # 32 bits integer max\n        MAX = 0x7FFFFFFF\n        # 32 bits interger min\n        MIN = 0x80000000\n        # mask to get last 32 bits\n        mask = 0xFFFFFFFF\n        while b != 0:\n            # ^ get different bits and & gets double 1s, << moves carry\n            a, b = (a ^ b) & mask, ((a & b) << 1) & mask\n        # if a is negative, get a's 32 bits complement positive first\n        # then get 32-bit positive's Python complement negative\n        return a if a <= MAX else ~(a ^ mask)\n```
[]