El Codi gris és una seqüència de sistemes de nombres binaris, que també es coneix com codi binari reflectit . El motiu per anomenar aquest codi com a codi binari reflectit són els primers valors N/2 en comparació amb els dels últims valors N/2 en ordre invers. En aquest codi, dos valors consecutius es diferencien per un bit de dígits binaris. Els codis grisos s'utilitzen en la seqüència general de números binaris generats per maquinari. Aquests nombres provoquen ambigüitats o errors quan es fa la transició d'un nombre al seu successiu. Aquest codi simplement resol aquest problema canviant només un bit quan es fa la transició entre números.
El codi gris és un codi molt lleuger perquè no depèn del valor del dígit especificat per la posició. Aquest codi també s'anomena codi de variable cíclica, ja que la transició d'un valor al seu valor successiu només comporta un canvi d'un bit.
Com generar codi Gray?
El mètode de prefix i reflect s'utilitzen de manera recursiva per generar el codi gris d'un nombre. Per generar codi gris:
- Trobem el nombre de bits necessaris per representar un nombre.
- A continuació, trobem el codi de 0, és a dir, 0000, que és el mateix que el binari.
- Ara, agafem el codi anterior, és a dir, 0000, i en canviem la part més significativa.
- Realitzem aquest procés de manera exclusiva fins que no s'identifiquen de manera única tots els codis.
- Si canviant el bit més significatiu, trobem el mateix codi obtingut anteriorment, llavors es canviarà el segon bit més significatiu, i així successivament.
Procés de generació de codi gris
Taula de codi gris
Número decimal | Nombre binari | Codi gris |
---|---|---|
0 | 0000 | 0000 |
1 | 0001 | 0001 |
2 | 0010 | 0011 |
3 | 0011 | 0010 |
4 | 0100 | 0110 |
5 | 0101 | 0111 |
6 | 0110 | 0101 |
7 | 0111 | 0100 |
8 | 1000 | 1100 |
9 | 1001 | 1101 |
10 | 1010 | 1111 |
11 | 1011 | 1110 |
12 | 1100 | 1010 |
13 | 1101 | 1011 |
14 | 1110 | 1001 |
15 | 1111 | 1000 |