寫一個函數(shù)协饲,求兩個整數(shù)之和,
- 要求在函數(shù)體內(nèi)不得使用"+"凸主、"-"橘券、"x"、"÷"四則運(yùn)算符號秕铛。
public int Add(int num1,int num2) {
//num2表示進(jìn)位不為0 則繼續(xù)進(jìn)位
while (num2 != 0){
int temp = num1 ^ num2; //表示不進(jìn)位相加约郁,找出只有一個1的情況
num2 = (num1 & num2) << 1; //表示進(jìn)位情況缩挑,找出都是1的情況
num1 = temp; //循環(huán)往復(fù)
}
return num1;
}
/**
* 不使用新的變量交換兩個變量的值
* 加減法
* a = a + b;
* b = a - b;
* a = a - b;
* 異或
* a = a ^ b;
* b = a ^ b;
* a = a ^ b;
*/