Sé que podemos utilizar la lógica del sumador binario donde Sum = un XOR b y seguir = A y B También he conseguido una solución:la adición de dos números sin operador + (clarificación)
int add(int a, int b)
{
if(b == 0)
return sum;
sum = a^b;
carry = (a & b) << 1;
return add(sum,carry);
}
Lo que no entiendo aquí es ¿por qué se desplaza el bit de acarreo, o multiplicado por 2 durante cada recursión?
Su código tiene problemas, por ejemplo, suma y acarreo no están definidos. Supongo que son globales –
Sí, la suma y el acarreo son globales. Lo siento por eso. – noMAD