Conversion d'un code binaire

zegs -  
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
tt le monde je veux savoir une méthode pour conversion d'un code binaire naturel en code binaire réfléchit (gray)
svp aidez moi j'ai un devoir
A voir également:

5 réponses

varfendell Messages postés 3259 Date d'inscription   Statut Membre Dernière intervention   707
 
Bonsoir,

Le mieux reste de passer par la conversion en decimal.
Tu convertit ton gray ou ton binaire en decimal et du decimal il est alors facile de le convertir en ce que tu veut.

https://fr.wikipedia.org/wiki/Syst%C3%A8me_binaire#Code_de_Gray_ou_binaire_r.C3.A9fl.C3.A9chi
0
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Le mieux reste de passer par la conversion en decimal.
Non, tu as une belle formule à utiliser qui est toute simple.

Soit X ton nombre binaire, (X xor 2X)/2 te donne alors le nombre gray ;-))).

Cdlt
0
zergs Messages postés 2 Statut Membre
 
sa veu dire ke je multiplie mn nombre binaire * 2 et jle divise par 2?
0
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Oui.
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

Soit X ton nombre binaire, (X xor 2X)/2 te donne alors le nombre gray
Sa veu dire ke je multiplie mn nombre binaire * 2 et jle divise par 2?


Non

Je ne connaissais pas cette méthode mais ça veut dire que tu le *2 (une rotation des bits à gauche, cad tu ajoutes un bit=0 à droite),
ensuite tu fais un XOR entre les 2 nombres (ou exclusif bit à bit. soit l'un, soit l'autre, mais pas les 2),
ensuite tu divises /2 (une rotation à droite, cad tu supprimes le bit de gauche)

Ex:
         110101
*2	1101010
xor	1011111    (110101 XOR 1101010)
/2 	 101111


eric
0
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Je ne connaissais pas cette méthode mais ça veut dire que tu le *2 (une rotation des bits à gauche, cad tu ajoutes un bit=0 à droite),
Oui, donc ça correspond bien à une multiplication par 2. Les exposants augmentent tous de 1.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
le père
 
Bonjour

Autant éviter une opération inutile et faire directement X/2 XOR X. Surtout que ça évite de mémoriser le bit qui déborde à gauche lors de la multiplication.
0