O sistema de numeração binário é o mais importante em sistemas digitais, mas há outros também importantes. É especialmente difícil tentar transmitir uma quantidade binária quando se está falando com alguém. O sistema de numeração de base hexadecimal (base 16) se tornou a maneira padrão de comunicar valores numéricos em sistemas digitais. A grande vantagem é que os números hexadecimais podem ser facilmente convertidos para o sistema binário e vice-versa. Veremos que muitas ferramentas de computador avançadas, que são projetadas para ajudar criadores de softwares a lidar com problemas ou vírus em seus programas, usam o sistema de numeração hexadecimal para inserir números armazenados no computador como binários e exibi-los novamente como hexadecimais. Outras maneiras de representar quantidades decimais com dígitos codificados em binário foram inventadas. Apesar de não serem realmente sistemas de numeração, facilitam a conversão entre o código binário e o sistema de numeração
decimal. Esses códigos costumam ser chamados de decimal codificado em binário (BCD). Quantidades e padrões de bits podem ser representados por quaisquer desses métodos em qualquer sistema dado e em todo o material escrito referente ao sistema digital. Por isso, é muito importante que você seja capaz de interpretar valores em qualquer sistema e efetuar conversões entre quaisquer dessas representações numéricas. Dessa forma, existem outros códigos que usam 1s e 0s para representar elementos como caracteres alfanuméricos. Apresente e explique os seguintes códigos:
a) GRAY

Passo 1

O enunciado pede para apresentar e explicar o código Gray, que é um método de representar números inteiros em binário de modo que qualquer par de valores consecutivos difira em exatamente um bit. Para isso, vamos precisar entender operações bit a bit (especialmente o XOR) e o conceito de “reflexão” de uma sequência binária.

Passo 2

Definição e propriedade principal do código Gray
O código Gray (ou código binário refletido) é uma sequência de palavras binárias em que dois números adjacentes diferem em exatamente um bit. Essa propriedade minimiza erros em transições – útil em sensores rotativos, conversores analógico-digital e sistemas de comunicação.

Passo 3

Geração de Gray a partir de um valor binário
Seja \mathbf{B}=(b_{n-1}b_{n-2}\dots b_1b_0) o número binário de n bits. O correspondente código Gray \mathbf{G}=(g_{n-1}g_{n-2}\dots g_1g_0) é obtido por:
g_{n-1} = b_{n-1}, \qquad g_i = b_{i+1}\oplus b_i \quad\text{para } i=n-2,\dots,0,
onde \oplus é a operação XOR. Em forma vetorial,
\mathbf{G} = \mathbf{B}\;\oplus\;(\mathbf{B}\gg1),
isto é, cada bit de \mathbf{B} é XORed com o bit à sua esquerda.

Passo 4

Conversão de Gray de volta para binário
Dado \mathbf{G}=(g_{n-1}\dots g_0), recupera-se \mathbf{B}=(b_{n-1}\dots b_0) assim:
b_{n-1} = g_{n-1}, \qquad b_i = b_{i+1}\oplus g_i \quad\text{para } i=n-2,\dots,0.
Na prática, percorre-se \mathbf{G} da esquerda para a direita acumulando XORs dos bits já decodificados.

Passo 5

Exemplo prático
  1. Converter o binário \mathbf{B}=1011 (decimal 11) em Gray: g_3 = b_3 = 1,\quad g_2 = b_3\oplus b_2 = 1\oplus0=1,\quad g_1 = 0\oplus1=1,\quad g_0 = 1\oplus1=0.Logo \mathbf{G}=1110.
  2. Voltar de \mathbf{G}=1110 para binário: b_3 = 1,\quad b_2 = b_3\oplus g_2 =1\oplus1=0,\quad b_1 =0\oplus1=1,\quad b_0 =1\oplus0=1,recuperando \mathbf{B}=1011.

Passo 6

Vantagens e aplicações
  • Em encoders rotativos, cada posição adjacente muda um bit, evitando ambiguidades durante transição.
  • Sistemas digitais e testes de hardware usam Gray para reduzir metastabilidade em barramentos.
  • Qualquer sequência de estados em que se queira minimizar alterações simultâneas de bits, pode usar código Gray.

Resposta

O código Gray é um código binário refletido em que números consecutivos diferem em apenas um bit. Gera-se de um valor binário \mathbf{B} aplicando \mathbf{B}\oplus(\mathbf{B}\gg1). Para inverter, acumula-se XORs dos bits de Gray da esquerda para a direita. Esse código minimiza erros de transição e é amplamente usado em encoders rotativos, conversão A/D e sistemas digitais de alta confiabilidade.

Exercícios relacionados