Circuitos digitales - Códigos
En la codificación, cuando los números o las letras están representados por un grupo específico de símbolos, se dice que ese número o letra se está codificando. El grupo de símbolos se denominacode. Los datos digitales se representan, almacenan y transmiten como un grupo de bits. Este grupo de bits también se denominabinary code.
Los códigos binarios se pueden clasificar en dos tipos.
- Códigos ponderados
- Códigos no ponderados
Si el código tiene pesos posicionales, entonces se dice que es weighted code. De lo contrario, es un código no ponderado. Los códigos ponderados se pueden clasificar además como códigos ponderados positivamente y códigos ponderados negativamente.
Códigos binarios para dígitos decimales
La siguiente tabla muestra los distintos códigos binarios para los dígitos decimales del 0 al 9.
Dígito decimal | 8421 Código | 2421 Código | 84-2-1 Código | Exceso 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 |
Tenemos 10 dígitos en el sistema numérico decimal. Para representar estos 10 dígitos en binario, necesitamos un mínimo de 4 bits. Pero, con 4 bits habrá 16 combinaciones únicas de ceros y unos. Dado que solo tenemos 10 dígitos decimales, las otras 6 combinaciones de ceros y unos no son necesarias.
8 4 2 1 código
Los pesos de este código son 8, 4, 2 y 1.
Este código tiene todos los pesos positivos. Entonces, es unpositively weighted code.
Este código también se llama natural BCD (Decimal codificado en binario) code.
Example
Encontremos el equivalente BCD del número decimal 786. Este número tiene 3 dígitos decimales 7, 8 y 6. De la tabla, podemos escribir los códigos BCD (8421) de 7, 8 y 6 son 0111, 1000 y 0110 respectivamente. .
∴ (786)10 = (011110000110)BCD
Hay 12 bits en representación BCD, ya que cada código BCD de dígito decimal tiene 4 bits.
2 4 2 1 código
Los pesos de este código son 2, 4, 2 y 1.
Este código tiene todos los pesos positivos. Entonces, es unpositively weighted code.
Es un unnatural BCDcódigo. La suma de los pesos de los códigos BCD no naturales es igual a 9.
Es un self-complementingcódigo. Los códigos autocomplementados proporcionan el complemento de 9 de un número decimal, simplemente intercambiando 1 y 0 en su representación equivalente 2421.
Example
Encontremos el 2421 equivalente al número decimal 786. Este número tiene 3 dígitos decimales 7, 8 y 6. De la tabla, podemos escribir los 2421 códigos de 7, 8 y 6 son 1101, 1110 y 1100 respectivamente.
Por lo tanto, el equivalente 2421 del número decimal 786 es 110111101100.
8 4 -2 -1 code
The weights of this code are 8, 4, -2 and -1.
This code has negative weights along with positive weights. So, it is a negatively weighted code.
It is an unnatural BCD code.
It is a self-complementing code.
Example
Let us find the 8 4-2-1 equivalent of the decimal number 786. This number has 3 decimal digits 7, 8 and 6. From the table, we can write the 8 4 -2 -1 codes of 7, 8 and 6 are 1001, 1000 and 1010 respectively.
Therefore, the 8 4 -2 -1 equivalent of the decimal number 786 is 100110001010.
Excess 3 code
This code doesn’t have any weights. So, it is an un-weighted code.
We will get the Excess 3 code of a decimal number by adding three (0011) to the binary equivalent of that decimal number. Hence, it is called as Excess 3 code.
It is a self-complementing code.
Example
Let us find the Excess 3 equivalent of the decimal number 786. This number has 3 decimal digits 7, 8 and 6. From the table, we can write the Excess 3 codes of 7, 8 and 6 are 1010, 1011 and 1001 respectively.
Therefore, the Excess 3 equivalent of the decimal number 786 is 101010111001
Gray Code
The following table shows the 4-bit Gray codes corresponding to each 4-bit binary code.
Decimal Number | Binary Code | Gray Code |
---|---|---|
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 |
This code doesn’t have any weights. So, it is an un-weighted code.
In the above table, the successive Gray codes are differed in one bit position only. Hence, this code is called as unit distance code.
Binary code to Gray Code Conversion
Follow these steps for converting a binary code into its equivalent Gray code.
Consider the given binary code and place a zero to the left of MSB.
Compare the successive two bits starting from zero. If the 2 bits are same, then the output is zero. Otherwise, output is one.
Repeat the above step till the LSB of Gray code is obtained.
Example
From the table, we know that the Gray code corresponding to binary code 1000 is 1100. Now, let us verify it by using the above procedure.
Given, binary code is 1000.
Step 1 − By placing zero to the left of MSB, the binary code will be 01000.
Step 2 − By comparing successive two bits of new binary code, we will get the gray code as 1100.