Código Gray

De MediaWiki do Campus São José
Revisão de 20h34min de 6 de março de 2023 por Moecke (discussão | contribs)
Ir para navegação Ir para pesquisar

O código Gray é uma codificação de números no qual números adjacentes diferem de apenas um único bit. Desta forma ao fazer uma contagem em Gray, a cada incremento apenas um bit é modificado. Isso é muito diferente do que a contagem em binário, onde vários bits podem alterar com o incremento de um.

Por exemplo:

  • Em código binário sequencial seria 0111 (7) e depois 1000 (8), ocorre a mudança nos 4 bits.
  • Em código Gray seria: 0100 (7) e depois 1100 (8), apenas 1 bit muda.


Tabela de códigos de 0 a 15

Código decimal Código octal Código hexadecimal Código Binário Código Gray Código One Hot
0 00 0 0000 0000 0000.0000.0000.0001
1 01 1 0001 0001 0000.0000.0000.0010
2 02 2 0010 0011 0000.0000.0000.0100
3 03 3 0011 0010 0000.0000.0000.1000
4 04 4 0100 0110 0000.0000.0001.0000
5 05 5 0101 0111 0000.0000.0010.0000
6 06 6 0110 0101 0000.0000.0100.0000
7 07 7 0111 0100 0000.0000.1000.0000
8 10 8 1000 1100 0000.0001.0000.0000
9 11 9 1001 1101 0000.0010.0000.0000
10 12 A 1010 1111 0000.0100.0000.0000
11 13 B 1011 1110 0000.1000.0000.0000
12 14 C 1100 1010 0001.0000.0000.0000
13 15 D 1101 1011 0010.0000.0000.0000
14 16 E 1110 1001 0100.0000.0000.0000
15 17 F 1111 1000 1000.0000.0000.0000

Conversão de Binário para Gray

Conversão de um número binário de bits em um número Gray pode ser feita considerando o um número binário inicial , o número Gray correspondente pode ser obtido através de:

para

para

Por exemplo para N = 4:

Conversão de Gray para Binário

Conversão de um número Gray de bits em um número binário pode ser feita considerando o um número Gray inicial , o número binário correspondente pode ser obtido através de:

para

para

Por exemplo para N = 4:

Ou expandindo:

Curiosidade