Código de Gray
O código de Gray é um sistema de código binário inventado por Frank Gray. O código é não ponderado onde de um número para outro apenas um bit varia. Este sistema de codificação surgiu quando os circuitos lógicos digitais se realizavam com válvulas termoiônicas e dispositivos eletromecânicos. Os contadores necessitavam de potências muito elevadas e geravam ruído quando vários bits modificavam-se simultaneamente. O uso do código Gray garantiu que qualquer mudança variaria apenas um bit.[1]
Atualmente o código Gray é utilizado em sistemas sequenciais mediante o uso dos Mapas de Karnaugh, já que o princípio do desenho de buscar transições mais simples e rápidas segue vigente, apesar de que os problemas de ruído e potência tenham sido reduzidos.
Código decimal | Código Binário | Código Gray |
---|---|---|
0 | 0000 | 0000 |
1 | 0001 | 0001 |
2 | 0010 | 0011 |
3 | 0011 | 0010 |
4 | 0100 | 0110 |
5 | 0101 | 0111 |
6 | 0110 | 0101 |
7 | 0111 | 0100 |
8 | 1000 | 1100 |
9 | 1001 | 1101 |
10 | 1010 | 1111 |
11 | 1011 | 1110 |
12 | 1100 | 1010 |
13 | 1101 | 1011 |
14 | 1110 | 1001 |
15 | 1111 | 1000 |
Propriedades
editar- Palavras adjacentes variam apenas 1 bit
- Cíclico
- Reflectido
- Bit mais significativo é igual ao código binário natural
Método tabular de conversão
editarA maneira mais fácil de construir a tabela de conversão base 10 para gray é usar um espelho. Começando no bit de índice 0, escrevemos o bit 0 e 1. Em seguida, aplicamos um espelho ao conjunto {01}, ficando o bit 0 com a seguinte ordenação {0110}. Agora, a primeira metade dos bits do índice 1 tomam o valor 0, e a outra metade o valor 1. O bit seguinte obtém-se aplicando o 'espelho' a todos os bits anteriores.
Método algébrico de conversão
editarO método de obtenção do código Gray só é útil para comprimentos de palavra de 3/4 bits. Assim, torna-se necessário obter uma equação algébrica que converta de números binários para Gray e vice-versa. Tais equações podem ser deduzidas usando os Mapas de Kargnaugh para 4 bits e observar o padrão.
Conversão de código binário para código gray de N bits
Referências
- ↑ «(R. Doran) The Gray Code». www.jucs.org. Consultado em 27 de fevereiro de 2011