-
x^y //执行加法,不考虑进位。
-
(x&y)<<1 //进位操作
-
令x=x^y ;y=(x&y)<<1 进行迭代,每迭代一次进位操作右面就多一位0,最多需要“加数二进制位长度”次迭代就没有进位了,此时x^y的值就是结果。
public static int getSum(int a, int b) { if(b==0) return a; else { return getSum(a^b, (a&b)<<1); } }
位运算实现整数相加
最新推荐文章于 2021-11-03 17:04:43 发布