写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号
解题思路:使用位运算的方式进行处理,其中一位进位,另外一位是非进位的结果
sum = a ^ b ---> 表示非进位
carry = (a & b) << 1表中进位
java
public class Solution {
public int Add(int num1,int num2) {
int sum = 0, carry = 0;
if (num2 == 0) {
return num1;
}
while (num2 != 0) {
sum = num1 ^ num2;
carry = (num1 & num2) << 1;
num1 = sum;
num2 = carry;
}
return sum;
}
}