Código gray e johnson
Jaime Domingues Pereira Neto
Universidade Federal da Bahia
1. Código 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.
Atualmente o código Gray é utilizado em sistemas sequenciais mediante o uso dos Mapas de Karnaugh, já que o principio 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.
Tabela1. Comparação entre códigos. 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 |
1.2 Método tabular de conversão
A 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.
Tabela 2. Conversão de decimal para Código Gray a | b | c | d | e | Decimal | 0 | 0 | 00 | 00 | 000 | 0 | 1 | 1 | 01 | 01 | 001 | 1 | | 1 | 11 | 11 | 011 | 2 | | 0 | 10 | 10 | 010 | 3 | | | 10 | 110 | 4 | 11 | 111 | 5 | 01 | 101 | 6 | 00 | 100 | 7 |