不能使用四则运算,但可以使用++,--,还可以使用移位运算。
使用++如下:
int Add(int num1, int num2)
{
while(num1--){
num2++;
}
return num2;
}
使用移位运算,两数异或 :每位独立相加,没有进位;两数相与:得到需要进位的位为1;左移(两数相与):得到进位;
利用移位运算的递归表示(当没有进位的时候递归结束):
int Add(int num1, int num2)
{
if(num2 == 0)
return num1;
return Add(num1^num2,(num1&num2)<<1);
}