Additionneur binaire Python

Résolu
Clemsouuu Messages postés 810 Date d'inscription   Statut Membre Dernière intervention   -  
Clemsouuu Messages postés 810 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour.

Je cherche à faire un additionneur binaire sous Python et j'ai donc un peu travaillé dessus sauf que j'ai le problème que mon résultat est faux. Je rentre 0001 et 0010 et on me donne 1001. Après de nombreux tests j'ai l'impression que Python ne comprends pas mon input en binaire. Car j'ai teste 0010 et Python me donne 8 en base 10. Comment résoudre mon problème ? Voici mon code :

a = int(input("premier nombre : "))
b = int(input("deuxième nombre : "))
 
retenue = 0
resultat = 0
position = 0
 
while a > 0 or b > 0 or retenue > 0:
    chiffre_a = a % 10
    chiffre_b = b % 10
    a = a // 10
    b = b // 10
    somme = chiffre_a + chiffre_b + retenue
    retenue = somme // 2
    resultat += (somme % 2) * 10**position
    position += 1
 
print ("0b"),resultat



Merci d'avance

A voir également:

2 réponses

Utilisateur anonyme
 
Bonsoir, tu as signalé cette question résolue.
Peux tu partager ta solution, pour un autre internaute à l'avenir?


D'autre part, pour poster du code, pense à la coloration syntaxique.

Merci
1
Clemsouuu Messages postés 810 Date d'inscription   Statut Membre Dernière intervention   131
 
J'ai simplement utilisé Pyscripter qui ma donné le résultat binaire en CPL2 donc avec le MSB (bit de point fort) qui définit le signe (1 positif et 0 négatif)
0