Bonjour, j'essaye de faire une additon en c en passant par le binaire.

Le schéma de l'additionneur est: Nom : 286px-Half-adder.svg.png
Affichages : 2908
Taille : 6,6 Ko

L'équation logique est donc: (a XOR b) OU (a ET b) avec a et b les nombres à additionner.

Or, ce code renvoye 3 au lieu de 5.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
#include <stdio.h>
 
unsigned int add (unsigned int a, unsigned int b){
return a^b|a&b;}
 
void main(){
int r = add(2,3);
printf("%d", r);
}