不使用算術運算符實作加法運算
version one
在不使用算術運算符的前提下實作數的加法運算,首先應該想到的是用位運算符,當所有數的二進制數相加不會産生進位的情況下,傳回的二進制數就是真值。當相加的結果産生進位時,将兩個數進行相與操作,并對兩個數進行異或操作并左移一位,重複上述模拟進位的過程,直到不出現進位。
int aplusb(int a, int b) {
// write your code here, try to do it without arithmetic operators.
if ( a == )
{
return b;
}
if( b == )
{
return a;
}
else
{
int c = a ^ b;
int d = (a & b)<<;
return aplusb(c,d);
}
}