【面试题65 不用加减乘除做加法】
面试题65:不用加减乘除做加法:写一个函数,求两个整数之和,要求在函数体内不得使用 “+”、“-”、“*”、“/” 四则运算符号。
思路:位运算。
参考:面试题65. 不用加减乘除做加法(位运算,清晰图解)作者:jyd
class Solution:
def add(self, a: int, b: int) -> int:
x = 0xffffffff
a, b = a & x, b & x
while b != 0:
a, b = (a ^ b), (a & b) << 1 & x
return a if a <= 0x7fffffff else ~(a ^ x)