Rechercher un outil
Code Gray

Outil pour convertir en code Gray. Le code de Gray, aussi appelé binaire réfléchi, est un système binaire ne changeant qu'un seul bit à chaque incrémentation d'une unité.

Résultats

Code Gray -

Catégorie(s) : Codage de Caractères, Electronique

Partager
Partager
dCode et plus

dCode est gratuit et ses outils sont une aide précieuse dans les jeux, les maths, les énigmes, les géocaches, et les problèmes à résoudre au quotidien !
Une suggestion ? un problème ? une idée ? Ecrire à dCode !


Rendez-vous sur notre communauté Discord pour participer au forum d'entraide !


Grâce à vos remarques, réponses et commentaires pertinents, dCode peut développer le meilleur outil 'Code Gray', alors écrivez-nous c'est gratuit ! Merci !

Code Gray

Conversion du Code Gray



Voir aussi : Code Binaire

Conversion par Code Gray



Voir aussi : Code BinaireNégabinaire

Outil pour convertir en code Gray. Le code de Gray, aussi appelé binaire réfléchi, est un système binaire ne changeant qu'un seul bit à chaque incrémentation d'une unité.

Réponses aux Questions

Qu'est ce que le code Gray ? (Définition)

Le code Gray aussi appelé binaire réfléchi est un code binaire ayant la propriété de ne modifier qu'un seul bit lorsqu'un nombre est augmenté (ou diminué) d'une unité.

Exemple :

NombreBinaireGray
000000000
100010001
200100011
300110010
401000110
501010111
601100101
701110100
810001100

Cette propriété peut avoir plusieurs applications pratiques intéressantes, et le code gray apparait dans le code Baudot, dans la résolution des tours de Hanoi, ou les encodeurs de positions.

Comment convertir le binaire en code Gray ?

Pour transformer du binaire en binaire réfléchi (code Gray), l'algorithme consiste à calculer le OU exclusif (XOR) entre la valeur binaire et elle-même mais décalée d'un rang à droite (le dernier bit est supprimé).

Exemple : $$ \begin{align} 1 0 1 1 & \\ \oplus \rightarrow 1 0 1 & (1) \\ = 1 1 0 1 & \end{align} $$ Le code binaire 1011 a pour la valeur 1101 dans sa version réfléchie en code Gray.

L'implémentation de l'algorithme en langage informatique se réalise en une ligne et utilise les opérateurs binaires xor et shift : function bin2gray(n) return n ^ (n >> 1)

Comment convertir un nombre décimal en code Gray ?

Un algorithme de conversion d'un entier en code Gray (binaire) utilise des divisions successives par des puissances de 2 et regarde la parité de l'arrondi du quotient obtenu.

Exemple : $$ \begin{align} 29 / 2 = 14.5 \approx 15 & \Rightarrow 1 \\ 29 / 4 = 7.25 \approx 7 & \Rightarrow 1 \\ 29 / 8 = 3.625 \approx 4 & \Rightarrow 0 \\ 29 / 16 = 1.8125 \approx 2 & \Rightarrow 0 \\ 29 / 32 = 0.90625 \approx 1 & \Rightarrow 1 \end{align} $$ La valeur décimale 29 a pour la valeur binaire 10011 en code Gray.

Une méthode de conversion, plus visuelle, est décrite par cette image : gray-decimal-convert

Comment convertir le code Gray en binaire ?

La conversion du code Gray peut se faire bit à bit. Soit un nombre $ G = {g_0,g_1,\dots,g_n} $ avec $ g_i $ chacun de ses bits, alors $ B = {b_0,b_1,\dots,b_n} $ se calcule ainsi : $$ b_0 = g_0 \\ b_1 = g_0 \oplus g_1 \\ b_2 = g_0 \oplus g_1 \oplus g_2 \\ b_n = g_0 \oplus g_1 \oplus \dots \oplus g_n $$

En code gray, le bit de poids fort ($ g_0 $, souvent à gauche) est toujours identique à celui en binaire ($ b_0 $).

L'implémentation du calcul de conversion utilise aussi les opérateurs binaires xor et shift : function gray2bin(n1) {
n2 = n1;
while (n1 >>= 1) n2 ^= n1;
return n2;
}

Quelles sont les premières valeurs du code Gray ?

Le code Gray permet de compter en binaire, mais pour passer d'une unité à la suivante, un seul bit change. Voici les 16 premiers caractères.

0000, 0001, 0011, 0010, 0110, 0111, 0101, 0100, 1100, 1101, 1111, 1110, 1010, 1011, 1001, 1000

Les premières valeurs décimales équivalentes sont : 0, 1, 3, 2, 6, 7, 5, 4, 12, 13, 15, 14, 10, 11, 9, 8, 24, 25, 27, 26, 30, 31, 29, 28, 20, 21, 23, 22, 18, 19, 17, 16, etc. ici (lien)

Quels sont les avantages du code Gray ?

Le code gray permet de ne modifier qu'un seul bit à la fois lors des incréments ce qui simplifie les calculs et les accélère dans certains cas.

Comment reconnaitre le code Gray ?

Le code gray est difficile à distinguer d'un autre code binaire.

La couleur grise (gray ou grey en anglais) est un indice.

Quand code Gray a-t-il été inventé ?

Le code Gray est protégé par un brevet datant de 1953

Code source

dCode se réserve la propriété du code source de l'outil 'Code Gray' en ligne. Sauf code licence open source explicite (indiqué CC / Creative Commons / gratuit), tout algorithme, applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toute fonction (convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codé en langage informatique (PHP, Java, C#, Python, Javascript, Matlab, etc.) aucune donnée, script ou accès API ne sera cédé gratuitement, idem pour télécharger Code Gray pour un usage hors ligne, PC, tablette, appli iPhone ou Android !

Besoin d'Aide ?

Rendez-vous sur notre communauté Discord pour participer au forum d'entraide !

Questions / Commentaires

Grâce à vos remarques, réponses et commentaires pertinents, dCode peut développer le meilleur outil 'Code Gray', alors écrivez-nous c'est gratuit ! Merci !


Source : https://www.dcode.fr/code-gray
© 2020 dCode — La 'boite à outils' indispensable qui sait résoudre tous les jeux / énigmes / géocaches / CTF.
Un problème ?