∫Sistemas Digitales I Franklin Moreno
CODIGOS BINARIOS
Un código binario es un arreglo de bits para representar información, de tal manera que pueda ser
interpretada por un sistema digital. Los sistemas digitales procesan información binaria, dicha información
representa datos como números, letras, etc.
CODIGO DIRECTO.
Se asigna a cada elemento de información un arreglo (código) de bits, con la regla que dichos códigos sean
únicos, por ejemplo codifiquemos algunos colores.
COLOR CODIGO
AZUL 10
VERDE 111
ROJO 11
NEGRO 1001
CAFÉ 11101
AMARILLO 0
BLANCO 101
En la tabla anterior se han codificado algunos colores (elementos de información) puede observarse que
no se considera un numero establecido de bits, se asigna un código binario directamente a cada color, la
única regla a respetar siempre en codificación binaria es: un código identifica a un único elemento de
información.
NÚMERO DE COMBINACIONES EN DEPENDENCIA DE NUMERO DE BITS.
Para determinar el número de combinaciones en dependencia del número de bits utilizamos la expresión:
2n donde n representa el número de bits, por ejemplo, con 2 bits tendremos 22=4 combinaciones posibles
es decir puedo formar cuatro códigos diferentes: 00, 01, 10, 11.
Si n=3 entonces 23 = 8 combinaciones posibles, estas combinaciones representan los dígitos entre 0 y 2 n-
1, si n=3 las combinaciones posibles están entre 0 y 23-1, entre 0 y 7, observe la siguiente tabla.
X Y Z
0 0 0 0
X Y # Códigos =2n
1 0 0 1 0 sí n = 2 → # códigos= 22 =4
0 0
2 0 1 0 1 entre 0 → 22 – 1
0 1
3 0 1 1 2 = (0 → 3)
1 0
4 1 0 0 3 1 1
5 1 0 1
6 1 1 0
7 1 1 1
1
∫Sistemas Digitales I Franklin Moreno
CODIGO BCD (DECIMAL CODIFICADO EN BINARIO)
Este código representa los dígitos decimales utilizando cuatro bits, 4 es el mínimo número de bits para
representar los 10 elementos de información. También suele decirse que BCD es el binario natural de cada
digito, es decir su representación en número binario, o un código que utiliza los pesos 8 4 2 1.
DIGITO DECIMAL CODIGO BCD CODIGO EXESO – 3 CODIGO EXESO – 5
8421 (BCD + 3) (BCD + 5)
0 0000 0011 (0+3=3) 0101
1 0001 0100 0110
2 0010 0101 0 1 1 1 (2+5=7)
3 0011 0110 (3+3=6) 1000
4 0100 0111 1001
5 0101 1000 1010
6 0110 1001 1 0 1 1 (6+5=11)
7 0111 1010 1100
8 1000 1 0 1 1 (8+3=11) 1101
9 1001 1100 1110
La tabla anterior muestra la codificación de los dígitos decimales en código BCD, se observa que los
códigos correspondientes son la transformación de cada digito a su representación binaria.
Existen códigos formados a partir del código BCD, son los códigos de exceso, estos se forman al sumar un
cierto número al digito decimal y representado en binario, puede observarse el código exceso – 3 y
exceso – 5.
● Represente el número 47 en binario natural, en código BCD y en código EX3
Binario Natural ➪ 32 16 8 4 2 1 (solo transformo a binario)
1 0 1 1 1 1
BCD ➪ 47 = 01000111 (4=0100 y 7= 0111) según la tabla anterior
EX3 ➪ 47 = 01111010 (4= 0111 y 7=1010)
Podemos observar tres códigos diferentes para un mismo elemento de información.
● La siguiente información esta codificada en BCD, decodifique la misma.
Información: 01001001010110000001011100100010100100000010
Se conoce que el código BCD está formado por cuatro bits, por lo tanto se debe interpretar cada cuatro
bits.
0100 1001 0101 1000 0001 0111 0010 0010 1001 0000 0010
4 9 5 8 1 7 2 2 9 0 2
01001001010110000001011100100010100100000010 = 49581722902 BCD
2
∫Sistemas Digitales I Franklin Moreno
CODIGOS POSICIONALES.
Estos códigos permiten representar dígitos decimales, en base a pesos propios de cada código, similar a
código BCD pero con pesos distintos. Veamos algunos ejemplos de códigos con pesos:
Aiken
2 4 2 1 3 3 2 1 8 4 -2 -1 4 4 2 -1 5 42 1
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1 0 1 1 1 0 0 1 1 0 0 0 1
2 0 0 1 0 0 0 1 0 0 1 1 0 0 0 1 0 0 0 1 0
3 1 0 0 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 1 1
4 1 0 1 0 0 1 0 1 0 1 0 0 1 0 0 0 0 1 0 0
5 0 1 0 1 1 01 0 1 0 1 1 1 0 1 1 1 0 0 0
6 1 1 00 1 0 1 1 1 0 1 0 1 0 1 0 1 0 0 1
7 1 1 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 1 0
8 1 1 1 0 1 1 1 0 1 0 0 0 1 1 0 0 1 0 1 1
9 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Para formar el código es necesario ubicar los unos correspondientes bajo el peso indicado, hasta obtener
el digito buscado:
332 1 4 4 2 1 5 4 2 1
1 1 0 1 ➪ 3+3+1 = 7 0 1 1 1 ➪ 4+2+1=7 1 0 1 1 ➪ 5+1+1+8
Se observa en la tabla anterior que algunos códigos pueden representar un mismo digito de varias
maneras, concluyendo que dicha tabla no es única (pueden existir otras tablas).
Aiken
2 4 2 1 2 4 2 1
0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1
2 0 0 1 0 0 0 1 0
3 1 0 0 1 0 0 1 1
4 1 0 1 0 0 1 0 0
5 0 1 0 1 1 01 1
6 1 1 00 1 1 0 0
7 1 1 0 1 1 1 0 1
8 1 1 1 0 1 1 1 0
9 1 1 1 1 1 1 1 1
3
∫Sistemas Digitales I Franklin Moreno
CODIGOS PONDERADOS.
Existe una propiedad que nos facilita la construcción de códigos, llama ponderación, consiste en empezar
los códigos con 0 la primera mitad de la tabla y empezar los códigos con uno la segunda mitad dela tabla.
Por Ejemplo:
Aiken-Ponderado
5 42 1 2 4 2 1
0 0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1
2 0 0 1 0 0 0 1 0
3 0 0 1 1 0 0 1 1
4 0 1 0 0 0 1 0 0
5 1 0 0 0 1 01 1
6 1 0 0 1 1 1 0 0
7 1 0 1 0 1 1 0 1
8 1 0 1 1 1 1 1 0
9 1 1 1 1 1 1 1 1
▲ ▲
CODIGOS COMPLEMENTARIOS.
Cuando en una codificación binaria en base a pesos, cambiamos unos por ceros y ceros por unos y
obtenemos el complemento a nueve de dicho digito decimal, hablamos de un código complementario.
Por ejemplo
Cambio 0 ➪1 Complemento
1➪0 a9
2 4 2 1 2 4 2 1 2 4 2 1
0 0 0 0 0 1 1 1 1 9-0=9 0 0 0 0
1 0 0 0 1 1 1 1 0 9-1=8 0 0 0 1
2 0 0 1 0 1 1 0 1 9-2=7 0 0 1 0
3 0 0 1 1 1 1 0 0 9-3=6 0 0 1 1
4 0 1 0 0 1 01 1 9-4=5 0 1 0 0
5 1 01 1 0 1 0 0 9-5=4 1 01 1
6 1 1 0 0 0 0 1 1 9-6=3 1 1 0 0
7 1 1 0 1 0 0 1 0 9-7=2 1 1 0 1
8 1 1 1 0 0 0 0 1 9-8=1 1 1 1 0
9 1 1 1 1 0 0 0 0 9-9=0 1 1 1 1
La tabla anterior seria la representación de dígitos decimales, en un código Aiken ponderado y
complementario.
4
∫Sistemas Digitales I Franklin Moreno
CODIGOS DISTANCIA A UNO.
Cuando al representar información de una palabra de código a la siguiente varia un solo bit, se llama
código distancia a uno, el cambio de este único bit puede darse en cualesquier posición de la
representación.
Por ejemplo: codifique ocho deportes, tal que sea un código distancia a uno.
Para representar ocho elementos de información, al menos necesitamos 3 bits (2n donde n =3, 23 =8)
Deporte Código 1 Código 2
Futbol 001 000
Basket 000 001
Ping Pong 010 011
Bolley Ball 011 010
Natación 111 110
Ciclismo 101 111
Tenis 100 101
Gimnasia 110 100
En la tabla anterior se han desarrollado dos posibilidades de codificación, ambas cumplen con ser distancia
unitaria, se puede empezar la tabla con cualquier código e ir construyéndola, pueden existir otras tablas.
● Codifique los dígitos octales en un código distancia a 2.
0 0 0 0 0
1 1 0 0 1
2 1 1 1 1
3 0 0 1 1
4 0 1 1 0
5 1 0 1 0
6 1 1 0 0
7 0 1 0 1
256 128 64 32 16 8 4 2 1
1 1 1 1 0 0 0 0 0
MSB LSB
Mas significativo menos significativo 2n
Si probamos con tres bits, evidenciaremos que no se puede desarrollar la tabla, por tal motivo se
escogieron cuatro bits, la tabla propuesta no es única.
5
∫Sistemas Digitales I Franklin Moreno
CODIGO REFLEJADO
Un código reflejado codifica elementos de información donde la variación de un código a otro es de un
solo bit, pero esta variación se produce desde el centro de la tabla hacia los extremos.
Por ejemplo codifique ocho dispositivos electrónicos, tal que sea un código reflejado.
Dispositivo CODIGO
Resistencia 011
Condensador 100
Diodo 000
Transistor 110
Bobina 111
Potenciómetro 001
Display 101
Fusible 010
CODIGO GRAY
El código Gray debe cumplir con las condiciones de ser código distancia unitaria y reflejada a la vez.
Por ejemplo construyamos una tabla que cumpla con el concepto de código Gray de tres bits.
CODIGO
000
010
011
001
101
111
110
100
La tabla anterior cumple con ser un código distancia a uno y código reflejado a la vez, pueden existir otras
tablas.
CODIGO GRAY DE UN NUMERO DE N BITS.
Se pide encontrar el código Grey del número binario 101110101010100
Para ello se procede de la siguiente manera:
Inicialmente aumente un cero al extremo izquierdo (MSB digito más significativo) 0101110101010100
Vaya tomando parejas de bits de izquierda a derecha y si dichas parejas de bits son iguales escriba un
cero, caso contrario escriba un uno:
0 1 0 1 1 1 0 1 0 1 0 1 0 1 0 0
6
∫Sistemas Digitales I Franklin Moreno
≠ ≠ ≠ = = ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ ≠ =
1 1 1 0 0 1 1 1 1 1 1 1 1 1 0
El código Gray de 101110101010100 es 11100111111110
CODIGOS N EN M.
Estos códigos se refieren a tener N unos (1’s) en una palabra de M bits.
Por ejemplo codifíquese los dígitos en base 6 en un código 2 en 4
Dígitos en Código 2 en 4
base 5
0 1 10 0
1 1 0 0 1
2 0 1 1 0
3 0 0 1 1
4 0 1 0 1
5 1 0 1 0
Cabe mencionar que la tabla no es única, podría habérsela empezado con otro código.
● Determine el número de elementos de información que se pueden codificar en un código 3 en 5.
CODIGO BIQUINARIO
Se trata de un código que utiliza los pesos 5043210 tiene por característica ser un código de dos 1’s en
7bits.
Dígitos en Código
base 5 Biquinario
5043210
0 0100001
1 0100010
2 0100100
3 0101000
4 0110000
5 1000001
6 1000010
7 1000101
8 1001000
9 1010000
7
∫Sistemas Digitales I Franklin Moreno
● Encuentre otra tabla que cumpla ser un código biquinario.
CODIGO JHONSON.
También se los conoce como códigos cíclicos o códigos por desplazamiento, se forman al desplazarse los
bit del código inicial y el espacio que se produce llenar con un bit.
1 1 0 1 1
1 0 1 1 1
0 1 1 1 1
1 1 1 1 1
Por ejemplo codifiquemos los dígitos octales en un código Johnson.
Dígitos en Código
Octales JHONSON
0 0000
1 0001
2 0011
3 0111
4 1111 ← Continuo el proceso, lleno
5 1110 el espacio con un bit distinto
6 1100
7 1000
BIT DE PARIDAD.
Es un bit adicional que se agrega una cadena de bits, para indicar si el número de unos (1s) es par o impar,
este bit sirve para detectar errores en dicha cadena de bits.
Tenemos dos tipos de bits de Paridad: bit de paridad par y bit de paridad impar.
Para encontrar este bit se cuenta el número de unos presentes en la información binaria, y dependiendo
si el número de unos es par o impar amentar un 0 o un 1 de la manera siguiente:
# de 1s Par ➪0
Bit de
# de 1s impar ➪1
Par
paridad
8
∫Sistemas Digitales I Franklin Moreno
Cuento el
Numero
Impar de 1's
# de 1s Par ➪1
# de 1s Impar ➪0
Por ejemplo encuentre el bit de paridad par de la palabra binaria 1101010.
El número de unos presentes es 4, el cuatro es par, entonces el bit de paridad es cero.
1 1 0 1 0 1 0 0
Encuentre el bit de paridad impar de 1001110011, existen 6 1’s, seis es par, entonces el bit de paridad es
uno
1 0 0 1 1 1 0 0 1 1 1
Añada el bit de paridad par, a los dígitos en base 6, representados en un código distancia a tres.
Dígitos en Código Código + bit
base 6 Distancia a 3 de Paridad Par
0 0 0 0 0 0 0 0 0 0
1 1 1 1 0 1 1 1 0 1
2 0 0 1 1 0 0 1 1 0
3 1 1 0 1 1 1 0 1 1
4 1 0 1 0 1 0 1 0 0
5 0 1 0 0 0 1 0 0 1
CÓDIGO HAMMING.
El código de Hamming es un código detector y corrector de errores.
Para encontrar el código Hamming se deben añadir bits de paridad a la información, y así aumentar la
seguridad.
Si tenemos 2n-n-1 bits de información para codificar, entonces debemos aumentar n bits de paridad.
Por ejemplo si aumento tres bits de paridad, n=3 ➪ 23-3-1 = 4 (hasta 4 bits de información).
Es decir: 3bits de paridad + 4 bits de información = Palabra de 7 bits
7 6 5 4 3 2 1
☝ Aquí se ubican los bits de paridad
☝Aquí se ubican los bits de Información
Cabe mencionar que los bits de paridad siempre se colocan en las posiciones múltiplo de 2 n (1, 2, 4, 8,
16…..).
Por ejemplo encuentre el código Hamming de 1001.
9
∫Sistemas Digitales I Franklin Moreno
Tenemos 4 bits de información.
Entonces necesitamos 3 bits de paridad (n=3 ➪ 23-3-1 = 4)
7 6 5 4 3 2 1
1 0 0 1
Debo encontrar los bits correspondientes a las posiciones faltantes, P1, P2, P4
Para ello se construye una tabla 3 variables (P1, P2, P4) es decir ocho combinaciones y en la columna
correspondiente a P4, P2, P1 se ubican cuando son 1, se observa que P4(4,5,6,7), P2(2,3,6,7), P1(1,3,5,7) con
los bits que están en estas posiciones obtenemos el bit de paridad par, y este bit se coloca en el lugar
correspondiente.
7 6 5 4 3 2 1 ☟
P4 P2 P1 P4(4,5,6,7) 1 0 0 x 1
0 0 0 0 P2(2,3,6,7), 1 0 1 x 0
1 0 0 1 P1(1,3,5,7) 1 0 1 x x 0
2 0 1 0
3 0 1 1
7 6 5 4 3 2 1
4 1 0 0
1 0 0 1 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1
Si obtienen nuevamente los bits de paridad, del código formado, siempre le deben ser ceros.
7 6 5 4 3 2 1 ☟
P4(4,5,6,7) 1 0 0 1 0
P2(2,3,6,7), 1 0 1 0 0
P1(1,3,5,7) 1 0 1 0 0
● Indique si la información 1011101 codificada en Hamming, tiene errores.
7 6 5 4 3 2 1 ☟
Información 1 0 1 1 1 0 1
P4(4,5,6,7) 1 0 1 1 1
P2(2,3,6,7), 1 0 1 0 0
P1(1,3,5,7) 1 1 1 1 0
Se observa que los bits de paridad no son todos ceros (0’s) esto implica que la información tiene un
error, el código formado por los bits de paridad es 100 lo que equivale a 4, esto quiere decir que la
posición número 4 de la información recibida fue la que sufrió cambios.
7 6 5 4 3 2 1
Información 1 0 1 1 1 0 1
Recibida
Información 1 0 1 0 1 0 1
Transmitida
10
∫Sistemas Digitales I Franklin Moreno
En el ejemplo anterior se observa la capacidad del código Hamming para detectar errores.
● Encuentre el código Hamming de 1001110011.
●Determine si la siguiente información codificada en Hamming esta correcta: 1110010101110.
CODIGOS ALFANUMERICOS.
Los códigos alfanuméricos codifican letras (mayúsculas, minúsculas) números y caracteres especiales,
están estructurados en un byte (8 bits), 4 bits para una zona y cuatros bits que representan un número.
ZONA NÚMERO
CÓDIGO EBCDIC.
Extended Binary Coded Decimal Interchange Code. (Código Ampliado de Intercambio Decimal Codificado)
en Binario.
CARACTER EBCDIC HEX CARACTER EBCDIC HEX CARACTER EBCDIC HEX
A 1100 0001 C1 J 1101 0001 D1
B 1100 0010 C2 K 1101 0010 D2 S 1110 0010 E2
C 1100 0011 C3 L 1101 0011 D3 T 1110 0011 E3
D 1100 0100 C4 M 1101 0100 D4 U 1110 0100 E4
E 1100 0101 C5 N 1101 0101 D5 V 1110 0101 E5
F 1100 0110 C6 O 1101 0110 D6 W 1110 0110 E6
G 1100 0111 C7 P 1101 0111 D7 X 1110 0111 E7
H 1100 1000 C8 Q 1101 1000 D8 Y 1110 1000 E8
I 1100 1001 C9 R 1101 1001 D9 Z 1110 1001 E9
1 1 0 0 0 0 0 1
C 1
CARACTER HEX CARACTER HEX CARACTER HEX CARACTER HEX
a 81 j 91 0 F0
b 82 k 92 s A2 1 F1
c 83 l 93 t A3 2 F2
d 84 m 94 u A4 3 F3
11
∫Sistemas Digitales I Franklin Moreno
e 85 n 95 v A5 4 F4
f 86 o 96 w A6 5 F5
g 87 p 97 x A7 6 F6
h 88 q 98 y A8 7 F7
i 89 r 99 z A9 8 F8
Las tablas anteriores muestran la codificación de las letras mayúsculas y minúsculas en código EBCDIC, se
ve la ventaja de representar los códigos en hexadecimal por su simplicidad, véase como los bits que
representan al número están entre 0 y 9.
CODIGO ASCII.
Código Americano Estándar para el intercambio de Información, casi todos los sistemas digitales de la
actualidad utilizan el código ASCII para representar caracteres y textos, creado en 1963 por el Comité
Estadounidense de Estándares hoy llamado Instituto Estadounidense de Estándares Nacionales (ANSI),
en 1981 la empresa IBM desarrolló una extensión de 8 bits del código ASCII, en esta versión se añadieron
128 caracteres nuevos, con símbolos, signos, gráficos adicionales y letras latinas, necesarias para la
escrituras de textos.
CARACTER HEX CARACTER HEX CARACTER HEX CARACTER HEX
A 41 P 50 e 65 t 74
B 42 Q 51 f 66 u 75
C 43 R 52 g 67 v 76
D 44 S 53 h 68 w 77
E 45 T 54 i 69 x 78
F 46 U 55 j 6A y 79
G 47 V 56 k 6B z 7A
H 48 W 57 l 6C 0 30
I 49 X 58 m 6D 1 31
J 4A Y 59 n 6E 2 32
K 4B Z 5A o 6F 3 33
L 4C a 61 p 70 4 34
M 4D b 62 q 71 5 35
N 4E c 63 r 72 6 36
O 4F d 64 s 73 7 37
● Decodifique la información siguiente que viene dada en código ASCII.
01010100010001010100110001000101.
0101 0100 0100 0101 0100 1100 0100 0101
5 4 4 5 4 C 4 5
T E L E
12