- Admissibilité
- Neutralité
- Droit d'auteur
- Article de qualité
- Bon article
- Lumière sur
- À faire
- Archives
- Commons
Code C de GrayInverse
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
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
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)
- 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)
Commentaire sans titre
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)