题目
给定两个int A和B。编写一个函数返回A+B的值,但不得使用+或其他算数运算符。
测试样例:1 , 2
返回:3
解题思路
解题代码
import java.util.*;
public class UnusualAdd {
public int addAB(int A, int B) {
// write code here
if(B == 0){
return A;
}
int sum = 0;//相加的值
int carray = 0;//进位的值
//这里让B保存进位的值,如果进位的值为0,跳出循环
while(B != 0){
sum = A ^ B;
carray = (A & B) << 1;
//想加的值给A
A = sum;
//进位的值给B
B = carray;
}
return A;
}
}