不用加法实现两数相加(两数均可能是负数或者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)
位运算--不用加法实现两数相加--Python解法
阅读 83
2023-04-10
不用加法实现两数相加(两数均可能是负数或者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)