Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Elec3 Cap3
Elec3 Cap3
Cdigos Binarios
Cdigos Binarios
No toda la informacin que maneja un sistema digital es numrica, e inclusive, para la
informacin numrica a veces no es conveniente utilizar el sistema binario descrito en los
captulos anteriores. Por ello es conveniente idear formas diferentes de representar (codificar)
informacin diversa usando solamente ceros y unos. en este captulo se describen algunos
cdigos tanto para informacin numrica como alfanumrica, cuyo uso se ha generalizado por
diversas razones, la mayora de las veces de conveniencia, aunque no siempre.
3.1.- CDIGOS NUMRICOS
Existen varias situaciones en las que no es conveniente utilizar el binario natural para manejar
informacin numrica, entre ellas se pueden mencionar las siguientes:
O El ms sencillo de los cdigos BCD es el BCD8421 o BCD natural, que consiste simplemente en
representar cada dgito decimal por su binario equivalente. As tenemos
Dgito
Decimal
BCD8421
Dgito
Decimal
BCD8421
0000
0101
0001
0110
0010
0111
0011
1000
0100
1001
19
Captulo 3
Cdigos Binarios
O El cdigo BCD exceso-3 se obtiene a partir del cdigo BCD natural, simplemente sumando 310
(00112) a cada cdigo BCD de cada dgito decimal. Esto se resume en la siguiente tabla
Dgito
Decimal
BCD
EXCESO-3
Dgito
Decimal
BCD
EXCESO-3
0011
1000
0100
1001
0101
1010
0110
1011
0111
1100
Este cdigo resulta de utilidad en aplicaciones donde se requiere realizar operaciones aritmticas
usando complementos. Este cdigo es llamado autocomplementario porque el complemento a 9 de
un numero decimal puede ser obtenido complementando cada bit individualmente y el resultado
sigue siendo un cdigo vlido en BCD exceso 3.
Ejemplo: Representar el numero 90710 en BCD exceso-3 y usar el complemento a 1 para encontrar
el complemento a 9 del nmero:
90710 = 1100 0011 1010exc-3
0011 1100 0101exc-3 complemento a 1
= 09210 complemento a 9
BCD
2421
Dgito
Decimal
BCD
2421
0000
1011
0001
1100
0010
1101
0011
1110
0100
1111
Ejemplo: Representar el numero 90710 en BCD exceso-3 y usar el complemento a 1 para encontrar
el complemento a 9 del nmero:
20
Captulo 3
Cdigos Binarios
Cdigo
2 de 5
Dgito
Decimal
Cdigo
2 de 5
00011
01100
00101
10001
00110
10010
01001
10100
01010
11000
Cdigo
Gray
Dgito
Decimal
Cdigo
Gray
0000
1100
0001
1101
0011
10
1111
0010
11
1110
0110
12
1010
0111
13
1011
0101
14
1001
0100
15
1000
21
Captulo 3
Cdigos Binarios
@ Algoritmo
1.- El MSB se deja igual
2.- Avanzando de MSB a LSB se suma cada bit con el siguiente despreciando el acarreo para
obtener el siguiente bit del cdigo Gray
Ejemplo Escribir en Cdigo Gray el nmero 4510
Como 4510 = 1011012 Al aplicar el algoritmo a este nmero binario, tenemos:
/
1d 0 d1 d1 d0 d1
o
o
o o
o
o
1
1
1 0
1
1
@ Algoritmo
1.- El MSB se deja igual
2.- Avanzando de MSB a LSB a cada bit obtenido en binario se le suma sin acarreo el siguiente
bit de cdigo Gray.
Ejemplo Obtener el equivalente decimal del siguiente cdigo gray: N= 011011gray
0 1 1 0 1 1
+ + + + +
0 1
0
q
22
Captulo 3
Cdigos Binarios
sea, con una resolucin de 1/16 de vuelta, o de 22.5. si se desea una mejor resolucin se debern
usar ms bits, y por lo tanto mayor nmero de sectores.
giro
6
7
15
0 0 0 0
MSB
LSB
14
9
13
10
11
Sensor ptico
12
Aunque el disco pudiera se codificado en binario natural, el hacerlo en gray tiene la ventaja de que
si el sensor queda ubicado entre dos sectores, la lectura producida producir un error de cuando
mucho media posicin. En cambio, si es en binario este error puede ser tan grande como 180.
1110100
1100001
1110010
1110100
23
Captulo 3
Cdigos Binarios
0000000
espacio
20
32 0 1 0 0 0 0 0
40
1000000
60
1100000
SOH
0000001
21
33 0 1 0 0 0 0 1
41
1000001
61
1100001
STX
0000010
"
22
34 0 1 0 0 0 1 0
42
1000010
62
1100010
ETX
0000011
23
35 0 1 0 0 0 1 1
43
1000011
63
1100011
EOT
0000100
24
36 0 1 0 0 1 0 0
44
1000100
64
1100100
ENQ
0000101
25
37 0 1 0 0 1 0 1
45
1000101
65
1100101
ACK
0000110
&
26
38 0 1 0 0 1 1 0
46
1000110
66
1100110
BELL
0000111
'
27
39 0 1 0 0 1 1 1
47
1000111
67
1100111
BS
0001000
28
40 0 1 0 1 0 0 0
48
1001000
68
1101000
HT
0001001
29
41 0 1 0 1 0 0 1
49
1001001
69
1101001
LF
10 0 0 0 1 0 1 0
2A
42 0 1 0 1 0 1 0
4A
10 1 0 0 1 0 1 0
6A
10 1 1 0 1 0 1 0
VT
11 0 0 0 1 0 1 1
2B
43 0 1 0 1 0 1 1
4B
11 1 0 0 1 0 1 1
6B
11 1 1 0 1 0 1 1
FF
12 0 0 0 1 1 0 0
2C
44 0 1 0 1 1 0 0
4C
12 1 0 0 1 1 0 0
6C
12 1 1 0 1 1 0 0
return
13 0 0 0 1 1 0 1
2D
45 0 1 0 1 1 0 1
4D
13 1 0 0 1 1 0 1
6D
13 1 1 0 1 1 0 1
SO
14 0 0 0 1 1 1 0
2E
46 0 1 0 1 1 1 0
4E
14 1 0 0 1 1 1 0
6E
14 1 1 0 1 1 1 0
SI
15 0 0 0 1 1 1 1
2F
47 0 1 0 1 1 1 1
4F
15 1 0 0 1 1 1 1
6F
15 1 1 0 1 1 1 1
DLE
10
16 0 0 1 0 0 0 0
30
48 0 1 1 0 0 0 0
50
16 1 0 1 0 0 0 0
70
16 1 1 1 0
DC1
11
17 0 0 1 0 0 0 1
31
49 0 1 1 0 0 0 1
51
17 1 0 1 0 0 0 1
71
17 1 1 1 0 0 0 1
00
DC2
12
18 0 0 1 0 0 1 0
32
50 0 1 1 0 0 1 0
52
18 1 0 1 0 0 1 0
72
18 1 1 1 0 0 1 0
DC3
13
19 0 0 1 0 0 1 1
33
51 0 1 1 0 0 1 1
53
19 1 0 1 0 0 1 1
73
19 1 1 1 0 0 1 1
DC4
14
20 0 0 1 0 1 0 0
34
52 0 1 1 0 1 0 0
54
20 1 0 1 0 1 0 0
74
20 1 1 1 0 1 0 0
NAK
15
21 0 0 1 0 1 0 1
35
53 0 1 1 0 1 0 1
55
21 1 0 1 0 1 0 1
75
21 1 1 1 0 1 0 1
SYN
16
22 0 0 1 0 1 1 0
36
54 0 1 1 0 1 1 0
56
22 1 0 1 0 1 1 0
76
22 1 1 1 0 1 1 0
ETB
17
23 0 0 1 0 1 1 1
37
55 0 1 1 0 1 1 1
57
23 1 0 1 0 1 1 1
77
23 1 1 1 0 1 1 1
CAN 18
24 0 0 1 1 0 0 0
38
56 0 1 1 1 0 0 0
58
24 1 0 1 1 0 0 0
78
24 1 1 1 1 0 0 0
EM
19
25 0 0 1 1 0 0 1
39
57 0 1 1 1 0 0 1
59
25 1 0 1 1 0 0 1
79
25 1 1 1 1 0 0 1
SUB
1A
26 0 0 1 1 0 1 0
3A
58 0 1 1 1 0 1 0
5A
26 1 0 1 1 0 1 0
7A
26 1 1 1 1 0 1 0
ESC
1B
27 0 0 1 1 0 1 1
3B
59 0 1 1 1 0 1 1
5B
27 1 0 1 1 0 1 1
7B
27 1 1 1 1 0 1 1
FS
1C
28 0 0 1 1 1 0 0
<
3C
60 0 1 1 1 1 0 0
5C
28 1 0 1 1 1 0 0
7C
28 1 1 1 1 1 0 0
GS
1D
29 0 0 1 1 1 0 1
3D
61 0 1 1 1 1 0 1
5D
29 1 0 1 1 1 0 1
7D
29 1 1 1 1 1 0 1
RS
1E
30 0 0 1 1 1 1 0
>
3E
62 0 1 1 1 1 1 0
5E
30 1 0 1 1 1 1 0
7E
30 1 1 1 1 1 1 0
US
1F
31 0 0 1 1 1 1 1
3F
63 0 1 1 1 1 1 1
5F
31 1 0 1 1 1 1 1 del
7F
31 1 1 1 1 1 1 1
En resumen, el cdigo ASCII consta entre otros, de los siguientes grupos de caracteres:
Rango (hexadecimal)
0 al 19
30 al 39
41 al 5A
61 al 7A
Caracteres
cdigos de control y comunicaciones
dgitos del 0 al 9
letras maysculas de la A a la Z
letras minsculas de la a a la z
24
Captulo 3
Cdigos Binarios
a
f
a b c d e f g
ctodo comn
d
arreglo de siete
segmentos
a b c d e f
nodo comn
Deci
mal
0
1
2
3
4
5
6
7
8
9
BCD
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
1
0
1
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
1
1
0
0
1
1
0
0
1
1
0
0
0
0
1
1
0
0
display
25
Captulo 3
Cdigos Binarios
caracteres de un sitio a otro, pueden producirse errores. En esta seccin se ilustran dos cdigos que
permiten detectar errores y, en algunos casos, incluso corregirlos.
3.6.1 TRANSMISIN SERIE Y PARALELO
Existen dos mtodos bsicos para transmitir informacin entre dos dispositivos digitales, como se
ilustra en la siguiente figura, la transmisin de datos digitales en paralelo ocupa una lnea fsica por
cada bit de los datos a enviar, esto hace que este tipo de transmisin sea usada en distancias
relativamente cortas (unos cuantos metros), ya que de otra manera se vuelve muy costosa.
1
0
1
0
0
0
1
1
0
MSB
Transmisor
LSB
Receptor
LSB
Transmisor
Receptor
Un mtodo muy simple, pero ampliamente utilizado por su sencillez para detectar errores en
transmisin de datos consiste en aadir un bit de paridad (p) a cada carcter, normalmente en la
posicin ms significativa.
En el cdigo de paridad par, el bit de paridad (p) se elige de manera que el nmero de bits 1 del
dato sea un nmero par incluyendo el bit de paridad. En el cdigo de paridad impar, el bit de paridad
se elige de modo que el nmero de bits 1 (incluyendo el de paridad) del dato sea impar.
26
Captulo 3
Cdigos Binarios
De esta manera, cuando cambia un bit durante la transmisin, el nmero de unos en el carcter
recibido tendr la paridad equivocada y el receptor sabr que se ha producido un error.
Ejemplo: La siguiente tabla muestra un cdigo de paridad par de 8 bits para los caracteres ASCII
FIE. .
Bit de
paridad
P
A5 A4 A3 A2 A1 A0
Caracter
Dato enviado
Dato recibido
(supuesto)
error
paridad
bits
errneos
1100,0110 (F)
1100,1110 (+)
SI
mal
1100,1010 (I)
0110,1011 (k)
SI
mal
1100,0101 (E)
1100,0101 (E)
NO
bien
0010,1110 (.)
0010,1101 (-)
SI
bien
Como puede verse, el cdigo de paridad No siempre resulta efectivo para detectar errores. Qu
tipo de errores si detecta y cuales no?
q
bit
bit
bit
bit
1
2
4
8
comprueba
comprueba
comprueba
comprueba
los
los
los
los
bits
bits
bits
bits
1,
2,
4,
8,
3,
3,
5,
9,
5, 7, 9 y 11.
6, 7, 10 y 11.
6 y 7.
10 y 11.
27
Captulo 3
Cdigos Binarios
En general, el bit n es comprobado por los bits b1, b2,....,bj, tales que b1 + b2 + .... + bj = n. Por
ejemplo, el bit 5 es comprobado por los bits 1 y 4 porque 1 + 4 = 5. El bit 6 es comprobado por
los bits 2 y 4 porque 2 + 4 = 6.
Ejemplo: Usando paridad par, construir el cdigo de Hamming para el carcter "b".
Cdigo ASCII para "b"
1
10
11
El carcter ASCII "b" se representa por el nmero binario 1100010. El cdigo de Hamming para "b"
en binario es 00111001010.
Considrese que pasara si el bit 1 se modificara durante la transmisin. El carcter recibido sera
10111001010 en lugar de 00111001010. El receptor comprobara los 4 bits de paridad con los
resultados siguientes:
Bit
Bit
Bit
Bit
de
de
de
de
paridad
paridad
paridad
paridad
1
2
4
8
El nmero total de unos en los bits 1, 3, 5, 7, 9 y 11 debera de ser par, ya que se est usando
paridad par. El bit incorrecto debe ser uno de los bits comprobados por el bit de paridad 1, es decir,
uno de los bits 1, 3, 5, 7, 9 u 11. Como el bit de paridad 2 es correcto, sabemos que los bits 2, 3,
6, 7, 10 y 11 son correctos, de forma que el error no estaba en los bits 3, 7 u 11. Esto deja los bits
1, 5 y 9. El bit de paridad 4 es correcto, lo cual significa que los bits 4, 5, 6 y 7 no contienen
errores.. Esto reduce la eleccin al 1 9. El bit de paridad 8 tambin es correcto y, por lo tanto, el
bit 9 es correcto. Por consiguiente, el bit incorrecto debe ser el 1. Dado que se recibi como un 1,
debera haberse transmitido como un 0. En esta forma se pueden corregir los errores.
28