Circuitos Digitais - Códigos
Na codificação, quando números ou letras são representados por um grupo específico de símbolos, diz-se que esse número ou letra está sendo codificado. O grupo de símbolos é chamado decode. Os dados digitais são representados, armazenados e transmitidos como um grupo de bits. Este grupo de bits também é chamado debinary code.
Os códigos binários podem ser classificados em dois tipos.
- Códigos ponderados
- Códigos não ponderados
Se o código tem pesos posicionais, então é dito que é weighted code. Caso contrário, é um código não ponderado. Os códigos ponderados podem ser classificados como códigos com ponderação positiva e códigos com ponderação negativa.
Códigos binários para dígitos decimais
A tabela a seguir mostra os vários códigos binários para dígitos decimais de 0 a 9.
Dígito Decimal | Código 8421 | Código 2421 | Código 84-2-1 | Excesso de 3 Código |
---|---|---|---|---|
0 | 0000 | 0000 | 0000 | 0011 |
1 | 0001 | 0001 | 0111 | 0100 |
2 | 0010 | 0010 | 0110 | 0101 |
3 | 0011 | 0011 | 0101 | 0110 |
4 | 0100 | 0100 | 0100 | 0111 |
5 | 0101 | 1011 | 1011 | 1000 |
6 | 0110 | 1100 | 1010 | 1001 |
7 | 0111 | 1101 | 1001 | 1010 |
8 | 1000 | 1110 | 1000 | 1011 |
9 | 1001 | 1111 | 1111 | 1100 |
Temos 10 dígitos no sistema numérico decimal. Para representar esses 10 dígitos em binário, exigimos um mínimo de 4 bits. Mas, com 4 bits, haverá 16 combinações exclusivas de zeros e uns. Visto que temos apenas 10 dígitos decimais, as outras 6 combinações de zeros e uns não são necessárias.
8 4 2 1 código
Os pesos deste código são 8, 4, 2 e 1.
Este código tem todos pesos positivos. Então, é umpositively weighted code.
Este código também é chamado de natural BCD (Decimal codificado em binário) code.
Example
Vamos encontrar o BCD equivalente ao número decimal 786. Este número tem 3 dígitos decimais 7, 8 e 6. Da tabela, podemos escrever os códigos BCD (8421) de 7, 8 e 6 são 0111, 1000 e 0110, respectivamente .
∴ (786)10 = (011110000110)BCD
Existem 12 bits na representação BCD, visto que cada código BCD de dígito decimal possui 4 bits.
2 4 2 1 código
Os pesos deste código são 2, 4, 2 e 1.
Este código tem todos pesos positivos. Então, é umpositively weighted code.
É um unnatural BCDcódigo. A soma dos pesos dos códigos BCD não naturais é igual a 9.
É um self-complementingcódigo. Os códigos de autocomplementação fornecem o complemento de 9 de um número decimal, apenas trocando 1s e 0s em sua representação equivalente de 2421.
Example
Vamos encontrar o equivalente 2421 do número decimal 786. Esse número tem 3 dígitos decimais 7, 8 e 6. Na tabela, podemos escrever os 2421 códigos de 7, 8 e 6 que são 1101, 1110 e 1100 respectivamente.
Portanto, o equivalente 2421 do número decimal 786 é 110111101100.
8 4 -2 -1 código
Os pesos deste código são 8, 4, -2 e -1.
Este código tem pesos negativos junto com pesos positivos. Então, é umnegatively weighted code.
É um unnatural BCD código.
É um self-complementing código.
Example
Vamos encontrar o equivalente 8 4-2-1 do número decimal 786. Este número tem 3 dígitos decimais 7, 8 e 6. Da tabela, podemos escrever os códigos 8 4 -2 -1 de 7, 8 e 6 são 1001, 1000 e 1010, respectivamente.
Portanto, o equivalente 8 4 -2 -1 do número decimal 786 é 100110001010.
Excesso de 3 código
Este código não tem pesos. Então, é umun-weighted code.
Obteremos o código Excess 3 de um número decimal adicionando três (0011) ao equivalente binário desse número decimal. Por isso, é chamado de código Excesso 3.
É um self-complementing código.
Example
Vamos encontrar o equivalente em Excesso 3 do número decimal 786. Esse número tem 3 dígitos decimais 7, 8 e 6. Na tabela, podemos escrever os códigos de Excesso 3 de 7, 8 e 6 são 1010, 1011 e 1001, respectivamente.
Portanto, o equivalente em Excesso 3 do número decimal 786 é 101010111001
Código Cinza
A tabela a seguir mostra os códigos Gray de 4 bits correspondentes a cada código binário de 4 bits.
Número decimal | Código binário | Código Cinza |
---|---|---|
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 |
Este código não tem pesos. Então, é umun-weighted code.
Na tabela acima, os códigos Gray sucessivos são diferenciados em apenas uma posição de bit. Portanto, este código é chamado deunit distance código.
Código binário para conversão de código cinza
Siga estas etapas para converter um código binário em seu código Gray equivalente.
Considere o código binário fornecido e coloque um zero à esquerda do MSB.
Compare os dois bits sucessivos começando do zero. Se os 2 bits forem iguais, a saída será zero. Caso contrário, a saída é um.
Repita a etapa acima até que o código LSB de Gray seja obtido.
Example
Pela tabela, sabemos que o código Gray correspondente ao código binário 1000 é 1100. Agora, vamos verificá-lo usando o procedimento acima.
Dado, o código binário é 1000.
Step 1 - Colocando zero à esquerda do MSB, o código binário será 01000.
Step 2 - Ao comparar dois bits sucessivos do novo código binário, obteremos o código cinza como 1100.