不用加法实现两数相加(两数均可能是负数或者0)
def add(a,b):
#迭代
#a^b #无进位求和
#(a&b)<<1 #进位
x=0xffffffff
a&=x
b&=x
while b!=0:
a,b=a^b,(a&b)<<1&x
return a if a<=0x7fffffff else ~(a^x)
微信扫一扫
不用加法实现两数相加(两数均可能是负数或者0)
def add(a,b):
#迭代
#a^b #无进位求和
#(a&b)<<1 #进位
x=0xffffffff
a&=x
b&=x
while b!=0:
a,b=a^b,(a&b)<<1&x
return a if a<=0x7fffffff else ~(a^x)
相关推荐