AZ Tools

Conversor de código Gray

Converter

O código Gray (binário refletido) é uma ordenação de números binários em que dois valores sucessivos diferem em exatamente um bit. Essa propriedade de mudança de um único bit o torna valioso para encoders rotativos, mapas de Karnaugh e detecção de posição resistente a erros, porque não surgem valores intermediários transitórios quando vários bits mudariam ao mesmo tempo. O binário converte para Gray com g = b XOR (b >> 1); a decodificação percorre os bits com um XOR acumulado. Esta ferramenta converte em todas as direções: digite um número decimal, um valor binário ou um valor em código Gray e ela mostra as outras representações. Escolha uma largura de bits fixa para preencher a saída com zeros.

Decimal
42
Binário
101010
Código Gray
111111
Referência (0-7)
DecimalBinárioCódigo Gray
0000000
1001001
2010011
3011010
4100110
5101111
6110101
7111100

Binário → Gray: g = b XOR (b >> 1). Valores Gray consecutivos diferem em exatamente um bit. A largura de bits só preenche a saída com zeros.

Como usar

  1. Escolha se a entrada é decimal, binária ou código Gray.
  2. Digite o valor; as formas decimal, binária e Gray atualizam instantaneamente.
  3. Opcionalmente defina uma largura de bits (4/8/16/32) para preencher com zeros a saída binária e Gray.

Perguntas frequentes

Para que serve o código Gray?
Encoders de posição rotativos e lineares, ordenação de mapas de Karnaugh e qualquer sistema onde só um bit deva mudar entre estados adjacentes para evitar falhas durante as transições.
Como o binário é convertido em código Gray?
XOR do número com ele mesmo deslocado um bit à direita: gray = n ^ (n >> 1). A decodificação inverte com um XOR em cascata a partir do bit mais significativo.
Por que binário 2 (10) e 3 (11) viram Gray 11 e 10?
O código Gray garante diferença de um único bit entre valores consecutivos. De 2 para 3 só o último bit muda em binário, mas a sequência Gray se reflete para manter cada passo como uma mudança de um bit.
Lida com números grandes?
Sim — a conversão usa inteiros de precisão arbitrária, então valores muito acima de 32 ou 64 bits convertem com exatidão. A opção de largura de bits só preenche a exibição.

Ferramentas relacionadas