Conversion d'un code binaire

zegs -  
fiddy Messages postés 441 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

5 réponses

  1. 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
    1. fiddy Messages postés 441 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
  2. zergs Messages postés 2 Statut Membre
     
    sa veu dire ke je multiplie mn nombre binaire * 2 et jle divise par 2?
    0
  3. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Oui.
    0
  4. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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
    1. fiddy Messages postés 441 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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