不用加减乘除作加法
题目
写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。
思路
一位位用位运算
代码
public class Add {
public int add(int num1,int num2){
while (num2!=0){
int sum = num1 ^ num2;
int carry = (num1 & num2)<<1;//进位
num1 = sum;
num2 = carry;
}
return num1;
}
public int add_ii(int num1,int num2){
int sum;
int carry;
do {
sum = num1 ^ num2;
carry = (num1 & num2)<<1;
num1 = sum;
num2 = carry;
}while (num2!=0);
return sum;
}
}