//不用加减乘除四则运算,来做加法
//题目:两个数做加法。
//思路:用二进制的位运算的思路。第一步:首先两数相加考虑进位。可以用异或。
//第二步:两个数相加只考虑进位,并将最后的结果左移.第三步:将第一二步的结果相加。
public class AddN {
public int add(
int a,
int b){
//递归实现
int sum1=a^
b;
int sum2=(a&b)<<
1;
if(sum2!=
0){
return add(sum1,sum2);
}
/*循环实现
* int sum1,sum2;
do{
sum1=a^b;
sum2=(a&b)<<1;
a=sum1;
b=sum2;
}while(b!=0);*/
return sum1;
}
public static void main(String[] args){
AddN add=
new AddN();
int sum=add.add(-
1,
40);
System.out.println(sum);
}
}
转载于:https://www.cnblogs.com/hupp/p/4774019.html
转载请注明原文地址: https://mac.8miu.com/read-23321.html