[关闭]
@lzb1096101803 2016-03-20T16:12:27.000000Z 字数 207 阅读 403

算法:不用加减乘除做加法

数据结构和算法


5和17相加
5 : 101
17 :10001
分解为3步
第一步:各位相加不进位,得到10100
第二步;记下进位,只有最后一位相加时产生一个进位,结果为10
第三步:前两步的结果相加,得到10110,转为十进制就是22

而第一步相加对二进制而言是等价于异或的,0^0=0,1^1=0,1^0=1
第二步进位,只有1加1时才会进位,进位相当于<<1
第三步相加过程是重复前两步,知道不产生进位为止

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注