不用加减乘除实现两个数之和
def add(num1,num2): while num1&num2>0: tmp=num1^num2 num2=(num1&num2)<<1 num1=tmp return num1|num2
思路分解:
1.如果两个数的二级制逻辑与后为0,则可以世界利用或运算进行对应位相加,例如3+4=011+100=111=7
2.如果两个数的二进制逻辑与后不为0,怎进行转换,先逻辑异或运算,得到个位数,在逻辑与并进行移位操作。
3.直到两个数逻辑与后为0为止,然后进行逻辑或相加即可。