题目
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
方法一:位运算
class Solution:
def Add(self, num1, num2):
# write code here
while num2:
result=(num1^num2)& 0xffffffff#num1和num2做异或运算,0xffffffff的作用是为了越界判断
carry=((num1&num2)<<1)& 0xffffffff#num1和num2做与运算,并且右移
num1=result
num2=carry
if num1<= 0x7fffffff:#0x7fffffff代表正数和负数的分界,这里是判断num1是否是一个正数
result=num1
else:
result=~(num1^0xffffffff)
return result