ho scritto questa funzione per la somma algebrica di due interi, ma funziona solo fin quando sono entrambi positivi, come posso fare in modo che funzioni anche con numeri negativi???
Grazie a tutticodice:int add(int op1,int op2) { int sum, carry=1; while(carry>0) { /*vedi tavole verità*/ sum=op1^op2;//uno xor fra i due operatori restituisce la somma senza riporto carry=(op1)&(op2);//il riporto si ottiene con un and carry=carry<<1;//il quale viene shiftato fino a diventare 0 op1=sum; op2=carry; } return op1; }