A mon avis tu auras besoin de "masques", d'opérateurs booléens (décalages + opérations logiques)
petite idée en reprenant ton expl (a = 11110 ; b = 11011 ) :
1/ Comparer (a & 00001) avec (b & 00001) pour ne garder que le bit de droite ("00001" sert de masque, tu peux en fait utiliser "1" tout simplement, sans les "0" qui le precedent)
2/ Incrémenter un compteur selon le résultat du test
3/ décaler a et b vers la droite (opérateur ">>")
4/ Relancer la comparaison jusqu'a ce que tous les bits aient été décalés
L'opérateur qu'il te faut pour le 1/ doit "donner vrai, si différents", c'est ce que fait XOR
Je me suis pt être trompé mais l'idée est là.
Renseigne toi sur les opérations sur les bits (google.fr)
|