Ca ne marche toujours pas...
Merci, pour toutes vos idées. ;) J'ai essayé de les mettre bout à bout mais ça ne marche toujours pas... :(
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| #include <stdio.h>
void addi (int a, int b, int *add, int *r){
*add=a^b^*r;
*r=a&b|a&*r|b&*r;
}
int addition (int a, int b){
int add;
int r;
while(b!=0){addi(a, b, &r, &add);
a=add;
b=r<<1;}
return a;}
void main(){
int r = addition(2,3);
printf("%d", r);
} |
Celui-ci renvoie 2 au lieu de 5. :yaisse3:
Ca ne marche toujours pas...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| #include <stdio.h>
void addi (int a, int b, int *add, int *r){
*add=a^b^*r;
*r=a&b|a&*r|b&*r;
}
int addition (int a, int b){
int add=0;
int r=0;
while(b!=0){addi(a, b, &r, &add);
a=add;
b=r<<1;}
return a;}
void main(){
int r = addition(2,3);
printf("%d", r);
} |
Aucun changements. :ptdr: