1001Ferramentas
📋 Dev

Gerador de Código Gray (N bits)

Lista todos os 2^N códigos Gray para N bits (1 a 8). Mostra binário ao lado e destaca a transição de 1 bit.

iBinárioGray

Código Gray: contar mudando um bit de cada vez

Na contagem binária comum, passar de 7 para 8 muda quatro bits ao mesmo tempo: 0111 vira 1000. Em um circuito real esses bits não trocam no mesmo instante, e durante a transição o valor lido pode ser qualquer coisa — inclusive um número que não corresponde a nenhum dos dois. O código Gray elimina o problema pela raiz: entre dois valores consecutivos, exatamente um bit muda.

Escolha a quantidade de bits, de 1 a 8, e a página monta a tabela completa com o decimal, o binário comum e o Gray correspondente. A conversão é surpreendentemente simples: basta fazer um ou-exclusivo do número com ele mesmo deslocado um bit à direita. O caminho de volta é menos direto, porque cada bit do resultado depende de todos os bits mais significativos já decodificados.

Onde isso importa de verdade é em encoder rotativo, aquele disco que informa a posição de um eixo. Com binário comum, a leitura no momento errado devolve posição absurda; com Gray, o pior caso é ler o vizinho. A mesma ideia aparece em mapas de Karnaugh, onde a ordenação em Gray faz células adjacentes diferirem em uma variável só, e em conversores analógico-digitais.

Perguntas frequentes

Existe um único código Gray?
Não. O que a tabela mostra é o Gray binário refletido, que é o mais usado e o que sai da fórmula com ou-exclusivo. Existem outras sequências que também mudam um bit por passo — a condição define uma família, não uma resposta única.
A sequência fecha o ciclo?
Fecha: o último valor da tabela difere do primeiro em apenas um bit também. Essa propriedade cíclica é justamente o que faz o código servir para posição angular, em que passar dos 360 graus volta ao começo sem descontinuidade.
Como converto de Gray para binário?
Bit a bit, do mais significativo para o menos: o primeiro bit é copiado, e cada bit seguinte do resultado é o ou-exclusivo entre o bit correspondente do Gray e o bit anterior já calculado do binário. É por isso que a decodificação é sequencial, enquanto a codificação sai de uma operação só.

Ferramentas Relacionadas