# Circuitos Digitais/Códigos Numéricos

A eletrônica digital trabalha com diversos códigos de acordo com necessidades específicas. Códigos numéricos são códigos que trabalham unicamente com valores numéricos em sua composição.

## Código 9876543210

O código 9876543210 é um código binário que converte cada dígito decimal em um conjunto de 10 bits, onde o valor 1 assume a posição correspondente ao número decimal, e o restante é completado com o valor 0.
| Decimal | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
| 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| 4 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
| 5 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| 6 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| 7 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 8 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 9 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |

## Código BCD 8421

O código BCD 8421 (de Binary-coded decimal 8421) é um sistema de codificação de números decimais em binários de quatro bits. Os valores 8421 são respectivamente os valores de 2 elevado ao valor de sua posição (3,2,1,0). Este código assume apenas 10 dígitos, variando de 0 a 9.
| Decimal | 2^3 (8) | 2^2 (4) | 2^1 (2) | 2^0 (1) |
| 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 0 | 1 |
| 2 | 0 | 0 | 1 | 0 |
| 3 | 0 | 0 | 1 | 1 |
| 4 | 0 | 1 | 0 | 0 |
| 5 | 0 | 1 | 0 | 1 |
| 6 | 0 | 1 | 1 | 0 |
| 7 | 0 | 1 | 1 | 1 |
| 8 | 1 | 0 | 0 | 0 |
| 9 | 1 | 0 | 0 | 1 |

### Códigos BCD de 4 bits

| Decimal | BCD 8 4 2 1 | Excesso-3 ou Código de Stibitz | BCD 2 4 2 1 Código Aiken | BCD 8 4 −2 −1 | IBM 702 IBM 705 IBM 7080 IBM 1401 8 4 2 1 |
| 0 | 0000 | 0011 | 0000 | 0000 | 1010 |
| 1 | 0001 | 0100 | 0001 | 0111 | 0001 |
| 2 | 0010 | 0101 | 0010 | 0110 | 0010 |
| 3 | 0011 | 0110 | 0011 | 0101 | 0011 |
| 4 | 0100 | 0111 | 0100 | 0100 | 0100 |
| 5 | 0101 | 1000 | 1011 | 1011 | 0101 |
| 6 | 0110 | 1001 | 1100 | 1010 | 0110 |
| 7 | 0111 | 1010 | 1101 | 1001 | 0111 |
| 8 | 1000 | 1011 | 1110 | 1000 | 1000 |
| 9 | 1001 | 1100 | 1111 | 1111 | 1001 |

## Código de Excesso 3

Código Excesso-3 (XS-3) é um código binário decimal, chamado também de código de Excesso-N, que segue o mesmo príncipio de conversão do número decimal para binário, incrementando 3 unidades ao resultado binário.
| Decimal | Binário | Decimal | Binário |
| 0 | 0011 | 9 | 1100 |
| 1 | 0100 | 8 | 1011 |
| 2 | 0101 | 7 | 1010 |
| 3 | 0110 | 6 | 1001 |
| 4 | 0111 | 5 | 1000 |
Para convertermos um número como 127 utilizamos (0100, 0101, 1010).

## Código Gray

O código Gray é um sistema de código binário 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 simultâneamente. O uso do código Gray garantiu que qualquer mudança variaria apenas um bit.
Atualmente o código Gray é utilizado em sistemas sequênciais mediante o uso dos Mapas de Karnaugh, já que o príncipio 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.
| Dígito decimal | Código Gray | Dígito decimal | Código Gray |
| 0 | 0000 | 8 | 1100 |
| 1 | 0001 | 9 | 1101 |
| 2 | 0011 | 10 | 1111 |
| 3 | 0010 | 11 | 1110 |
| 4 | 0110 | 12 | 1010 |
| 5 | 0111 | 13 | 1011 |
| 6 | 0101 | 14 | 1001 |
| 7 | 0100 | 15 | 1000 |

## Código de 5 bits
### Código 2 entre 5

O código 2 entre 5 possui sempre dois bits iguais a 1 dentro de seus bits, o que permite detetar erros de transmissão.

### Código Johnson

O Código Johnson (Johnson-Mobius) é um código especial utilizado na construção do Contador de Johnson. Este código constitui-se em um código binário e cíclico (como o código Gray) cuja capacidade de codificação é dada por 2n, sendo n o número de bits. Para codificar os dígitos decimais são necessários 5 bits:
Código Johnson :
| Dígito decimal | Código Johnson | Dígito decimal | Código Johnson |
| 0 | 00000 | 5 | 11111 |
| 1 | 00001 | 6 | 11110 |
| 2 | 00011 | 7 | 11100 |
| 3 | 00111 | 8 | 11000 |
| 4 | 01111 | 9 | 10000 |
Este código permite a simplicidade de criação de contadores, e por isto é utilizado em sistemas digitais de alta velocidade. Proporciona uma maior proteção contra erros mas é menos eficiente em memória do que o código binário decimal.

## Resumo

* A eletrônica digital trabalha com diversos códigos de acordo com necessidades específicas. Códigos numéricos são códigos que trabalham unicamente com valores numéricos em sua composição.
* O Código 9876543210 é um código binário que converte cada dígito decimal em um conjunto de 10 bits, onde o valor 1 assume a posição correspondente ao número decimal, e o restante é completado com o valor 0.
* O código BCD 8421 (de Binary-coded decimal 8421) é um sistema de codificação de números decimais em binários de quatro bits. Os valores 8421 são respectivamente os valores de 2 elevado ao valor de sua posição (3,2,1,0). Este código assume apenas 10 dígitos, variando de 0 a 9.
* Existem diversos códigos BCDs que assumem valores diferentes de acordo com alguma variação em seu cálculo. Entre eles podemos destacar o BCD 7421, BCD 2421 e o BCD 5211.
* Código Excesso-3 (XS-3) é um código binário decimal, chamado também de código de Excesso-N, que segue o mesmo príncipio de conversão do número decimal para binário, incrementando 3 unidades ao resultado binário.
* O código Gray é um sistema de código binário 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.
* O código 2 entre 5 possui sempre dois bits iguais a 1 dentro de seus bits.
* O Código Johnson (Johnson-Mobius) é um código especial utilizado na construção do Contador de Johnson. Este código constitui-se em um código binário e cíclico (como o código Gray) cuja capacidade de codificação é dada por 2n, sendo n o número de bits. Para codificar os dígitos decimais são necessários 5 bits.

## Referências e Bibliografia

ERCEGOVAC, Milos D., "Introdução aos Sistemas Digitais", ed. Bookman, p. 19