Discussion:Code de Gray

Dernier commentaire : il y a 7 ans par Epok dans le sujet Commentaire sans titre
Autres discussions [liste]
  • Admissibilité
  • Neutralité
  • Droit d'auteur
  • Article de qualité
  • Bon article
  • Lumière sur
  • À faire
  • Archives
  • Commons

Code C de GrayInverse modifier

Le code C de GrayInverse n'est-il pas inutilement compliqué? Ne suffit-il pas, pour obtenir l'octet dont le code gray est b, de faire b ^ (b>>1) ^ (b>>2) ^ (b>>3) ^ (b>>4) ^ (b>>5) ^ (b>>6) ^ (b>>7) ? — Le message qui précède, non signé, a été déposé par Lovasoa (discuter), le 24 mai 2012 à 01:18

Pertinence de GrayInverse modifier

Si votre solution a l'avantage de la clarté conceptuelle, elle nécessite (n-1) opérations, si n est la longueur du mot à décoder (O(n-1)). GreyInverse ne nécessitera que ln(n)/ln(2) étapes, (c'est a dire O(ln(n))) ce qui le rend beaucoup plus rapide pour les décodages plus grands que l'octet. Ainsi 6 opérations sont nécessaires pour décoder un mot de 64 bits au lieu de 63. Pour illuster votre exemple, 3 opérations sont nécessaires au lieu des 7 que vous indiquez :

b1 := b ^ (b >> 1)
b2 := b1 ^(b1 >> 2)
GrayInverse := b2 ^(b2 >> 4)

Par contre, je propose une simplification du code "C" présenté, en enlevant notamment la très inélégante constante "32" et le "while(true)" (ans >>= inh finira toujours par etre nul avec inh croissant, pas besoin de faire un test sur inh)

long grayInverse(long n) {
        long ish = 1;
        long ans = n;
        long idiv = 1 ;
        while(idiv!=0) {
                idiv = ans >> ish;
                ans ^= idiv;
                ish += ish ; // double le nb de shifts la prochaine fois
        }
        return ans ;
  }

— Le message qui précède, non signé, a été déposé par l'IP 109.13.51.57 (discuter), le 13 octobre 2013 à 12:46

Code "de " Gray modifier

Personnellement, j'ai toujours appelé ça le Code Gray, sans le "de". Est-ce une convention WP s'appliquant au fait que "Gray" est un nom de famille, ou bien est-ce l'usage le plus répandu contrairement à ce que je pensais ? Je serai bien tenté de renommer l'article, qu'en pensez-vous ? Epok__ Insultes, éloges ou simples discussions : , le 10 janvier 2013 à 17:57 (CET)Répondre

Il y a deux tendances contradictoires (1) Code Gray semble plus courant, il faut suivre les sources (2) La convention veut que l'on appelle les choses "truc de Machin" et pas truc Machin qui sonne anglicisme. Je propose d'en rester là, je vais rajouter code Gray dans l'intro. --Roll-Morton (discuter) 28 novembre 2016 à 15:51 (CET)Répondre

Commentaire sans titre modifier

Aucune des méthodes indiquées n'expriment ce qu'est réellement le code de gray et quelle est la conversion véritable, rendant l'article inutile. — Le message qui précède, non signé, a été déposé par Alzimo (discuter), le 1 février 2017 à 23:25

Bonjour   Alzimo,
Je cite la première ligne de l'article : « Le code de Gray [...] est un type de codage binaire permettant de ne modifier qu'un seul bit à la fois quand un nombre est augmenté d'une unité. »
Par ailleurs, plus loin, on cite de nombreuses méthodes de conversion, notamment un Transcodage binaire / Gray...
Que souhaiterais-tu de plus ?
Wikipédiennement, Epok__ (Insultes, éloges, simples discussions : ), le 2 février 2017 à 09:00 (CET)Répondre
Revenir à la page « Code de Gray ».