O Código Gray é uma sequência de sistemas numéricos binários, também conhecida como código binário refletido . A razão para chamar este código como código binário refletido são os primeiros valores N/2 comparados com aqueles dos últimos valores N/2 na ordem inversa. Neste código, dois valores consecutivos são diferenciados por um bit de dígitos binários. Os códigos Gray são usados na sequência geral de números binários gerados por hardware. Esses números causam ambigüidades ou erros quando é feita a transição de um número para o seu sucessivo. Este código simplesmente resolve esse problema alterando apenas um bit quando a transição entre números é feita.
O código cinza é um código muito leve porque não depende do valor do dígito especificado pela posição. Este código também é chamado de código de variável cíclica, pois a transição de um valor para seu valor sucessivo acarreta uma mudança de apenas um bit.
Como gerar código Gray?
Os métodos prefix e reflect são usados recursivamente para gerar o código Gray de um número. Para gerar código cinza:
- Encontramos o número de bits necessários para representar um número.
- A seguir, encontramos o código para 0, ou seja, 0000, que é o mesmo que binário.
- Agora, pegamos o código anterior, ou seja, 0000, e alteramos a parte mais significativa dele.
- Realizamos esse processo de forma reclusa até que todos os códigos não sejam identificados de forma única.
- Se alterando o bit mais significativo encontrarmos o mesmo código obtido anteriormente, então o segundo bit mais significativo será alterado e assim sucessivamente.
Processo de geração de Código Gray
Tabela de Código Gray
Número decimal | Número 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 |
onze | 1011 | 1110 |
12 | 1100 | 1010 |
13 | 1101 | 1011 |
14 | 1110 | 1001 |
quinze | 1111 | 1000 |