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 ? Écrire à dCode !


Rendez-vous sur notre communauté Discord dCode pour participer au forum d'entraide !
PS : Pour les messages codés, testez notre détecteur de chiffrement !


Remarques et suggestions sont les bienvenues afin que dCode propose le meilleur outil 'Code Gray' gratuit ! Merci !

Code Gray

Conversion du Code Gray

 

Voir aussi : Code Binaire

Conversion par Code Gray

 

Voir aussi : Code BinaireNégabinaire

Réponses aux Questions (FAQ)

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 apparaît 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 1 0 & \end{align} $$ Le code binaire 1011 a pour la valeur 1110 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 en modifiant un seul bit pour passer d'un nombre au suivant. Voici les 16 premièves valeurs en code gray 4 bits :

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

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 le 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 pour "Code Gray". Sauf code licence open source explicite (indiqué Creative Commons / gratuit), l'algorithme pour "Code Gray", l'applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou les fonctions liées à "Code Gray" (calculer, convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codés en langage informatique (Python, Java, C#, PHP, Javascript, Matlab, etc.) ou les données, en téléchargement, script, ou les accès API à "Code Gray" ne sont pas publics, idem pour un usage hors ligne, PC, mobile, tablette, appli iPhone ou Android !
Rappel : dCode est gratuit.

Citation

Le copier-coller de la page "Code Gray" ou de ses résultats est autorisée (même pour un usage commercial) tant que vous créditez dCode !
L'exportation des résultats sous forme de fichier .csv ou .txt est gratuite en cliquant sur l'icone export
Citer comme source bibliographique :
Code Gray sur dCode.fr [site web en ligne], consulté le 21/12/2024, https://www.dcode.fr/code-gray

Besoin d'Aide ?

Rendez-vous sur notre communauté Discord dCode pour participer au forum d'entraide !
PS : Pour les messages codés, testez notre détecteur de chiffrement !

Questions / Commentaires

Remarques et suggestions sont les bienvenues afin que dCode propose le meilleur outil 'Code Gray' gratuit ! Merci !


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