Conversion d'un code binaire

Fermé
zegs - 6 déc. 2009 à 20:20
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 7 déc. 2009 à 22:24
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 3256 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 8 février 2020 704
6 déc. 2009 à 20:48
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 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
6 déc. 2009 à 21:24
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 1 Date d'inscription dimanche 6 décembre 2009 Statut Membre Dernière intervention 6 décembre 2009
6 déc. 2009 à 22:20
sa veu dire ke je multiplie mn nombre binaire * 2 et jle divise par 2?
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
7 déc. 2009 à 06:24
Oui.
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 250
7 déc. 2009 à 07:33
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 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
7 déc. 2009 à 22:24
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
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