Código de Gray: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
dc
Linha 1:
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 [[circuito|circuitos lógicos digitais]] se realizavam com [[válvula termoiônica|válvulas termoiônicas]] e [[dispositivo]]s [[eletromecânico]]s. Os [[contador]]es necessitavam de [[potência]]s 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.<ref>{{citar web
|url=http://www.jucs.org/jucs_13_11/the_gray_code
|titulo=(R. Doran) The Gray Code
|publicado=www.jucs.org
|acessodata=[[27 de fevereiro]] de [[2011]]
}}</ref>
 
Atualmente o código Gray é utilizado em sistemas sequenciais mediante o uso dos [[mapa de Karnaugh|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.
 
{|class="prettytable"
!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 ==
* 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 ==
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.
 
[[Ficheiro:Código-gray.png]]
12300
 
== Método algébrico de conversão ==
O 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.
<math>B_n = G_n \oplus G_{(n+1)} \oplus G_{(n+1)} \oplus ... G_{(N-1)} </math>
 
Conversão de código binário para código gray de N bits
<math>G_n = B_n \oplus G_{(n+1)} com n+1 <= N-1 </math>
 
{{Referências}}
 
{{esboço-eletrônica}}
{{Portal3|Matemática|Tecnologias de informação}}
 
{{DEFAULTSORT:Codigo Gray}}