Conversor de Binário para Código Gray
Converta entre binário e código Gray (binário refletido), onde dois valores sucessivos diferem em apenas um bit. Suporta ambas as direções mais o equivalente decimal.
Entrada
Apenas dígitos 0 e 1, até 64 bits.
Saída
Valor decimal do código convertido (saída).
Guias
O que é código Gray?
Código Gray — também chamado de código binário refletido — é uma maneira de ordenar o sistema numérico binário de modo que quaisquer dois valores sucessivos diferem em exatamente um bit. A contagem binária padrão não possui essa propriedade: passar de 0111 para 1000 inverte todos os quatro bits de uma vez. O código Gray elimina esse "salto de vários bits" para que um valor mude apenas uma posição por vez, conforme conta para cima ou para baixo.
Por que uma mudança de um bit importa
Em sistemas físicos e digitais, os bits raramente mudam no mesmo instante exato. Se vários bits de um contador binário mudarem simultaneamente, um leitor pode brevemente ver um valor intermediário inválido — uma falha. Como o código Gray muda apenas um bit entre valores adjacentes, essa condição de corrida desaparece, é por isso que aparece em vários lugares:
- Codificadores rotativos e sensores de posição absoluta — a posição do eixo é lida diretamente de uma faixa codificada em Gray, portanto um desalinhamento mecânico entre bits de sensor não pode produzir uma leitura totalmente incorreta, apenas uma fora por um.
- Mapas de Karnaugh — as linhas e cabeçalhos de coluna de um mapa K são ordenados em código Gray para que células logicamente adjacentes (diferindo por uma variável de entrada) também sejam fisicamente adjacentes, facilitando a visualização de grupos de 1s.
- Correção de erros e comunicações digitais — como valores de código adjacentes diferem por um bit, um erro de transmissão de um bit tende a produzir um valor decodificado próximo, em vez de um radicalmente diferente, no qual alguns esquemas de codificação dependem para limitar o impacto do erro.
- Conversores analógico-para-digital — a amostragem perto de um limite de transição é menos provável de produzir um grande erro de saída de vários bits.
Como usar esta ferramenta
- Digite um valor contendo apenas os dígitos
0e1(até 64 bits) no campo Valor. - Escolha uma Direção: Binário → Código Gray para codificar, ou Código Gray → Binário para decodificar.
- o Valor Convertido e seu Equivalente Decimal são atualizados automaticamente conforme você digita.
As fórmulas de conversão
Binário → Gray: o bit superior (mais significativo) é copiado inalterado; todos os outros bits Gray são o XOR do bit binário atual e anterior. Esta é a forma string de bits da fórmula bem conhecida gray = binary XOR (binary >> 1).
Gray → Binário: o bit superior é copiado inalterado; todos os outros bits binários são o XOR do bit binário previamente decodificado e do bit Gray atual. Ao contrário da direção de codificação, a decodificação é sequencial — cada bit de saída depende do anterior.
Perguntas frequentes
O código Gray representa um número diferente do binário? Não — uma palavra de código Gray e uma palavra binária de mesmo comprimento podem representar o mesmo inteiro subjacente; são apenas dois padrões de bit diferentes para contar através do mesmo intervalo. Esta ferramenta mostra o valor decimal de qualquer código que acabou de produzir, para que você possa ver como ele mapeia para um número comum.
O código Gray sempre tem o mesmo comprimento que a entrada? Sim, ambas as direções preservam o comprimento do bit — nenhum bit é adicionado ou removido, portanto a estrutura líder (e zeros iniciais digitados) é mantida no resultado.
Posso converter um número decimal diretamente? Converta-o para binário primeiro (por exemplo, com os conversores binário/decimal deste site), então cole a string binária aqui.
Privacidade
Esta ferramenta funciona inteiramente no seu navegador. Sua entrada nunca é enviada para um servidor.
Use it from code
From 3 credits per callREST API
curl -X POST https://api.iotools.cloud/v1/tool/binary-gray-code \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": "1011",
"mode": "binary-to-gray"
}'Swap in your own key from your account. The tool's fields are the body — no wrapper.
Ask an AI agent
Use the IOTools `binary-gray-code` tool (Binary to Gray Code Converter) on this input:
YOUR_INPUT_HEREPaste this at any agent connected to the IOTools MCP server, then add your input.