本文最后更新于:2020年11月18日 下午

写一个函数,求两个整数之和,要求在函数体内不得使用”+”,”-“,”*”,”/“四则运算符号。

示例:

输入:a=1, b=1
输出:2

提示:

  • a,b均可能是负数或0
  • 结果不会溢出32位整数
class Solution:
	def add(self, a, b):

解题思路:

本题考察对位运算的灵活使用,即使用位运算实现加法。

设两数字的

class Solution:
	def add(self, a, b):
		x = 0xffffffff
		a, b = a & x, b & x
		whlie b != 0:
			a, b = (a ^ b), (a & b) << 1 & x
		return a if a <= 0x7fffffff else ~(a ^ x)