Está en la página 1de 12

1

Capítulo 3

Codificación binaria

3.1. Codificación

En un ambiente de sistemas digitales se denomina codificación a la asignación de un significado


a una configuración de bits.

Al modelar problemas es usual encontrar variables que pueden tomar múltiples valores, se
denomina codificación al proceso de convertir esas variables en señales binarias. La elección
adecuada del código puede conducir a redes lógicas más simples.

Consideremos, por ejemplo, el estado de un semáforo: éste puede tomar uno de tres valores:
verde, amarillo o rojo.
Una posible codificación es considerar cada color como una señal binaria; así si la variable
color toma valor rojo, estará en nivel alto la señal rojo y el resto de las señales (la verde y
amarilla) serán ceros.
Otra posibilidad es emplear dos bits para representar las tres situaciones que son posibles; ya
que con dos bits pueden simbolizarse, en binario, cuatro casos. Existen gran cantidad de códigos
posibles, ya que el nombre binario para el primer color puede elegirse de 4 maneras diferentes;
el código binario para el segundo color puede ser elegido de tres maneras diferentes, y el tercer
color puede ser elegido de dos modos diferentes. Existen 24 formas de representar la variable
multivaluada color mediante un vector binario.

A continuación se mostrarán ejemplos de tres clases de códigos: numéricos, alfanuméricos y de


despliegue.

3.2. Códigos numéricos

Los más empleados son aquellos usados para representar números decimales.
El código representa los dígitos decimales por una secuencia de símbolos binarios.

3.2.1. Códigos ponderados

Se denomina código ponderado a uno en el que a cada posición de la secuencia binaria se le


asigna un peso o ponderación.

Profesor Leopoldo Silva Bijit 19-01-2010


2 Sistemas Digitales
Ejemplo 3.1. Código BCD
El código ponderado más empleado es el BCD, que representa a los dígitos decimales por
secuencias de bits en sistema binario. BCD es un acrónimo de Binary Coded Decimal es decir,
decimal codificado en binario.

Decimal BCD
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001

Figura 3.1 Código BCD.

La tabla es el código. Cada secuencia de 4 bits es una palabra del código. Nótese que a cada
dígito decimal se le asocia una secuencia de 4 bits.

La posición de más a la izquierda, o más significativa, tiene peso 8. El bit menos significativo,
el de más a la derecha, tiene ponderación 1. Las ponderaciones son potencias de 2.
Así, la palabra 7, puede interpretarse según:

0*8 + 1*4 + 1*2 + 1*1 = 7

Para representar el número decimal 12 se requieren 8 bits, o dos palabras de código.

12 = 0001 0010

Ejemplo 3.2. Transmisión de símbolos BCD.


A través de un par de cables, puede enviarse una secuencia de cifras decimales codificadas en
binario. Si enviamos primero las unidades, luego las decenas y después las centenas; y si se
envía primero el bit menos significativo, se tendrá que la siguiente forma de onda representa el
número 923:

Profesor Leopoldo Silva Bijit 19-01-2010


Capítulo 3. Codificación binaria 3

1 1 0 0 0 1 0 0 1 0 0 1

t
3 2 9

Figura 3.2 Transmisión serie de un símbolo BCD.

La situación anterior ilustra una transmisión serie. La duración temporal de los bits y la forma
de iniciar y terminar la comunicación debe ser acordada entre el transmisor y receptor, esta
modalidad se denomina comunicación asincrónica. Si además se transmite una señal de reloj, se
tendrá una comunicación serial sincrónica.

Si se dispone de cuatro líneas, más una referencia, se puede enviar una cifra decimal en
paralelo. Si enviamos primero la cifra más significativa, y si identificamos los cables del bus
por su ponderación, la Figura 3.3. muestra la transmisión paralela del número 329.
Las líneas se han identificado de acuerdo al peso.

b
8 t

b
8
b
b 4 t
4

b
2

b b
1 2 t

b
1 t
3 2 9

Figura 3.3 Transmisión paralela símbolo BCD.

3.2.2. Distancia

Se define la distancia entre dos palabras de un código, como el número de dígitos que se deben
cambiar a una palabra para obtener la otra.
Por ejemplo:
Hay distancia 1 entre 0100 y 0110.
Hay distancia 4 entre 0011 y 1100.

Profesor Leopoldo Silva Bijit 19-01-2010


4 Sistemas Digitales

La distancia del código es la mínima distancia entre dos palabras consecutivas cualesquiera del
código.

En ciertas aplicaciones son útiles los códigos de distancia unitaria. Uno de los más empleados
es el código Gray, que es un sistema de codificación que ordena un conjunto de 2n números
binarios, de tal modo que sólo uno de los n bits cambia de una palabra a la siguiente.
Por ejemplo, para palabras de largo igual a 3 bits, se pueden representar 8 números decimales
según:

Decimal Gray
0 000
1 001
2 011
3 010
4 110
5 111
6 101
7 100

Figura 3.4 Código Gray para palabras de largo tres.

Nótese que entre números decimales consecutivos la distancia entre las palabras codificadas es
1.

3.2.3. Código reflejado.

Cuando en una lista ordenada ascendente, según el código, la mitad superior es simétrica con la
inferior, exceptuando el bit de mayor orden, se dice que el código es reflejado.

Ejemplo: Código Gray con largo de palabra de dos bits:

00
01
--
11
10

Nótese que lo anterior permite construir tablas de código Gray con largos de palabra mayores.
Para obtener el código para largo tres, se duplica el código de largo dos, mediante un reflejo; a
la mitad superior se la antecede con un 0 y a la inferior con un 1, ver Figura 3.4.

En la Figura 3.5. se muestran los diseños de redes combinacionales, para generar código Gray a
partir de una secuencia binaria de cuatro bits y viceversa.

Profesor Leopoldo Silva Bijit 19-01-2010


Capítulo 3. Codificación binaria 5

B3 G3

B2 G2
G3 B3

B2
G2
B1 G1
B1
G1

B0 G0 G0 B0

Figura 3.5 Conversores de código Gray a binario.

3.2.4. Código cíclico

En éstos, las palabras consecutivas tienen la misma distancia, y esta distancia existe también
entre la primera y la última palabra del código. En este sentido, la lista puede considerarse
cerrada.

3.2.5. Paridad

En aplicaciones digitales de movimiento de información, es importante detectar cualquier tipo


de error en la información recibida.

Cuando la probabilidad de error no es muy alta, ha probado ser efectivo un sistema denominado
Chequeo de paridad. Esta técnica emplea un bit extra, llamado de paridad, cuyo valor se
selecciona de tal forma de dejar un número par de unos en la palabra de código, entonces se dice
que el código es de paridad par. Si el bit se escoge tal que el número de unos en la palabra sea
impar, se tiene un sistema de paridad impar.
Ejemplo 3.3. Generador y detector de paridad.
Generador y detector de paridad. Se envían 4 bits en paralelo más uno de paridad par. La Figura
3.6 muestra la generación del bit de paridad, mediante:

p b8 b4 b2 b1

En el extremo receptor se calcula la señal detectora de paridad, mediante:

dp b8 b4 b2 b1 p

Las ecuaciones que realizan el diseño se obtienen planteando la tabla de verdad y luego
empleando compuertas or exclusivo para la implementación.

Profesor Leopoldo Silva Bijit 19-01-2010


6 Sistemas Digitales

Tx Rx

dp

Figura 3.6 Generador y detector de paridad.

En la Figura 3.6 se muestra, entre líneas punteadas, el medio de transmisión; que separa al
transmisor del receptor. Analizar el circuito, determinando valores de p y dp, en caso de
producirse errores, en una de las cinco señales que se transmiten.
Ejemplo 3.5.
a) Sea una palabra de largo 3: 010

Entonces con un bit de paridad par, se representa: 1010. Donde el bit de paridad ocupa la
posición más significativa. En este caso: p b4 b2 b1 0 1 0 1

b) Puede verse que un error se detecta simplemente, en un código con paridad, debido al
cambio de tipo de paridad. Si la palabra correcta, con paridad par es 1010, se tiene que si se
recibe:

i) 1110 (paridad impar). Llegó errado bit 2.


ii) 1000 (paridad impar). Llegó errado bit 3.
iii) 0010 (paridad impar). Llegó errado bit 1, el de paridad
iv) 1011 (paridad impar). Llegó errado bit 4.
El bit de paridad sólo permite detectar el error, no corregirlo.

Un error en dos bits no puede ser detectado. Este sistema no permite corregir el error, sólo
detectarlo.

c) Se tiene el siguiente código octal con paridad impar:

Profesor Leopoldo Silva Bijit 19-01-2010


Capítulo 3. Codificación binaria 7

Decimal Octal con paridad impar


0 1000
1 0001
2 0010
3 1011
4 0100
5 1101
6 1110
7 0111

Figura 3.7 Código octal con paridad impar.

Nótese que la distancia del código, de la Figura 3.7, es dos. La paridad ocupa el bit más
significativo.

Ejemplo 3.6.
Un código muy empleado es el hexadecimal que representa 16 símbolos o cifras del sistema
hexadecimal mediante secuencias de cuatro bits. La tabla con el código se muestra en la Figura
3.8. Las secuencias hexadecimales suelen precederse con 0x; de este modo el número
hexadecimal 0x1A4 tiene como equivalente al número decimal 420:

0 x1A4 1 162 10 161 4 160 420

Hexadecimal Hex en binario


0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
A 1010
B 1011
C 1100
D 1101
E 1110
F 1111

Figura 3.8 Código hexadecimal.

Profesor Leopoldo Silva Bijit 19-01-2010


8 Sistemas Digitales
De acuerdo a la tabla de la Figura 3.8, el equivalente binario de la secuencia 0x1A4 se obtiene
reemplazando cada cifra hexadecimal por su secuencia equivalente binaria, de cuatro bits.

0 x1A4 000110100100

3.3. Códigos alfanuméricos

La mayor parte de los dispositivos periféricos empleados en sistemas de computación para


comunicar al hombre con las máquinas, permiten representar las letras minúsculas y
mayúsculas, dígitos decimales, signos de puntuación y caracteres especiales.

Uno de los códigos más empleados es el código ASCII. Éste es un código de 7 bits, más uno de
paridad. Permite representar 128 símbolos. Su nombre es una abreviación de "American
Standard Code for Information Interchange".

Se tienen 32 símbolos de control, símbolos de puntuación, letras y números. Los símbolos


asociados a los dígitos decimales están entre 0x30 y 0x39; entonces basta considerar los 4
menos significativos para obtener el código BCD equivalente.

Los códigos binarios de las letras mayúsculas y minúsculas difieren en el estado de un bit.

Pueden plantearse una serie de sistemas combinacionales que decodifiquen o categoricen a


símbolos pertenecientes al código ASCII. Por ejemplo: ¿Es letra? , ¿Es letra o número?, etc.

H D H D H D H D H D H D H D H D
00 NULL 00 10 DEL 16 20 32 30 0 48 40 @ 64 50 P 80 60 ` 96 70 p 112
01 SOH 01 11 DC1 17 21 ! 33 31 1 49 41 A 65 51 Q 81 61 a 97 71 q 113
02 STX 02 12 DC2 18 22 " 34 32 2 50 42 B 66 52 R 82 62 b 98 72 r 114
03 EXT 03 13 DC3 19 23 # 35 33 3 51 43 C 67 53 S 83 63 c 99 73 s 115
04 EOT 04 14 DC4 20 24 $ 36 34 4 52 44 D 68 54 T 84 64 d 100 74 t 116
05 ENQ 05 15 NAK 21 25 % 37 35 5 53 45 E 69 55 U 85 65 e 101 75 u 117
06 ACK 06 16 SYN 22 26 & 38 36 6 54 46 F 70 56 V 86 66 f 102 76 v 118
07 BEL 07 17 ETB 23 27 ' 39 37 7 55 47 G 71 57 W 87 67 g 103 77 w 119
08 BS 08 18 CAN 24 28 ( 40 38 8 56 48 H 72 58 X 88 68 h 104 78 x 120
09 TAB 09 19 EM 25 29 ) 41 39 9 57 49 I 73 59 Y 89 69 i 105 79 y 121
0a LF 10 1a SUB 26 2a * 42 3a : 58 4a J 74 5a Z 90 6a j 106 7a z 122
0b VT 11 1b ESC 27 2b + 43 3b ; 59 4b K 75 5b [ 91 6b k 107 7b { 123
0c FF 12 1c FS 28 2c , 44 3c < 60 4c L 76 5c \ 92 6c l 108 7c | 124
0d CR 13 1d GS 29 2d - 45 3d = 61 4d M 77 5d ] 93 6d m 109 7d } 125
0e SO 14 1e RS 30 2e . 46 3e > 62 4e N 78 5e ^ 94 6e n 110 7e ~ 126
0f SI 15 1f US 31 2f / 47 3f ? 63 4f O 79 5f _ 95 6f o 111 7f del 127

Figura 3.9 Código ASCII.

En computadores personales se emplean 8 bits para representar caracteres, lo cual permite


denotar 256 símbolos. Esto ha sido especialmente útil en aplicaciones de procesamiento de
textos en diversos idiomas, pues pueden incluirse letras con diferentes tipos de acentos.

Profesor Leopoldo Silva Bijit 19-01-2010


Capítulo 3. Codificación binaria 9
El estándar ISO-8859 posee la codificación ASCII en su rango inicial (128 caracteres) y otros
128 caracteres para cada codificación de diferentes lenguas originarias de Europa occidental,
utilizando 8 bits. ISO-8859-1 es el alfabeto latino. Este código no cubre a lenguajes con otros
alfabetos, como el chino o el árabe.

Unicode asigna un código único a cada carácter, utilizado en los lenguajes escritos del mundo,
para esto Unicode representa un carácter en forma abstracta, y deja la representación visual,
tamaño, dimensión, fuente o estilo, a otra aplicación, como un navegador web, un procesador de
texto o un cliente de correo. Las normas de transmisión Unicode más empleadas son UTF-8 y
UTF-16.

En páginas web se emplean entidades HTML para enviar caracteres especiales al cliente.
Comienzan con & y terminan en punto y coma. Por ejemplo para enviar una a minúscula
acentuada, se envía: &aacute;. También se acepta introducir una secuencia Unicode precedida
de la secuencia &#x. Por ejemplo U+00E1, es el Unicode para la á; entonces en la página web,
puede codificarse: &#x00E1;

3.4. Códigos de despliegue (Display Codes)

Existe una variedad de códigos empleados en voltímetros digitales, tubos de rayos catódicos y
calculadoras. Uno de los más empleados es el código de siete segmentos, cuya tabla se ilustra a
continuación:
Decimal S6 S5 S4 S3 S2 S1 S0
0 0 1 1 1 1 1 1
1 0 0 0 0 1 1 0
2 1 0 1 1 0 1 1
3 1 0 0 1 1 1 1
4 1 1 0 0 1 1 0
5 1 1 0 1 1 0 1
6 1 1 1 1 1 0 1
7 0 0 0 0 1 1 1
8 1 1 1 1 1 1 1
9 1 1 0 1 1 1 1

0
5 1
6

4 2
3

Figura 3.10 Código de siete segmentos.

Profesor Leopoldo Silva Bijit 19-01-2010


10 Sistemas Digitales
El diagrama ilustra la numeración de los segmentos, y los segmentos activados de acuerdo al
valor decimal.

Profesor Leopoldo Silva Bijit 19-01-2010


Capítulo 3. Codificación binaria 11

Índice general.

CAPÍTULO 3 ............................................................................................................................................. 1
CODIFICACIÓN BINARIA ..................................................................................................................... 1
3.1. CODIFICACIÓN ................................................................................................................................... 1
3.2. CÓDIGOS NUMÉRICOS ........................................................................................................................ 1
3.2.1. Códigos ponderados .................................................................................................................. 1
Ejemplo 3.1. Código BCD ............................................................................................................................... 2
Ejemplo 3.2. Transmisión de símbolos BCD. .................................................................................................. 2
3.2.2. Distancia ................................................................................................................................... 3
3.2.3. Código reflejado. ....................................................................................................................... 4
3.2.4. Código cíclico ........................................................................................................................... 5
3.2.5. Paridad ...................................................................................................................................... 5
Ejemplo 3.3. Generador y detector de paridad. ................................................................................................ 5
Ejemplo 3.5. ..................................................................................................................................................... 6
Ejemplo 3.6. ..................................................................................................................................................... 7
3.3. CÓDIGOS ALFANUMÉRICOS ................................................................................................................ 8
3.4. CÓDIGOS DE DESPLIEGUE (DISPLAY CODES) ..................................................................................... 9
ÍNDICE GENERAL. ................................................................................................................................... 11
ÍNDICE DE FIGURAS................................................................................................................................. 12

Profesor Leopoldo Silva Bijit 19-01-2010


12 Sistemas Digitales

Índice de figuras

Figura 3.1 Código BCD. ................................................................................................................ 2


Figura 3.2 Transmisión serie de un símbolo BCD. ....................................................................... 3
Figura 3.3 Transmisión paralela símbolo BCD. ............................................................................ 3
Figura 3.4 Código Gray para palabras de largo tres. ..................................................................... 4
Figura 3.5 Conversores de código Gray a binario. ........................................................................ 5
Figura 3.6 Generador y detector de paridad. ................................................................................. 6
Figura 3.7 Código octal con paridad impar. .................................................................................. 7
Figura 3.8 Código hexadecimal. .................................................................................................... 7
Figura 3.9 Código ASCII. ............................................................................................................. 8
Figura 3.10 Código de siete segmentos. ........................................................................................ 9

Profesor Leopoldo Silva Bijit 19-01-2010

También podría gustarte