题目描述
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
思路
这里解释了为什么要加入return num1 if num1<=0x7FFFFFFF else ~(num1^0xFFFFFFFF)的判断:
https://blog.csdn.net/u012505432/article/details/51902155
# -*- coding:utf-8 -*-
class Solution:
def Add(self, num1, num2):
# write code here
n1 = (num1 ^ num2) & 0xFFFFFFFF
n2 = ((num1 & num2) << 1) & 0xFFFFFFFF
n3 = n1 ^ n2
if n2 == 0:
return n3 if n3 <= 0x7fffffff else ~(n3^0xFFFFFFFF)
else:
return self.Add(n1,n2)