
- 执行加法 x ^ y
- 进位操作 ( x & y ) << 1
public int Add(int num1,int num2) {
int a = num1^num2;
int b = (num1&num2)<<1;
while (b != 0) {
num1 = a;
num2 = b;
a = num1^num2;
b = (num1&num2)<<1;
}
return a;
}
本文介绍了一种使用位运算实现两个整数相加的方法。通过不断进行异或运算(x^y)来计算不考虑进位的加法结果,并利用与运算结合左移((x&y)<<1)来获取进位部分。此过程循环直至没有新的进位产生。
458

被折叠的 条评论
为什么被折叠?



