VICERRECTORADO ACADEMICO
FACULTAD DE INGENIERIA
CABUDARE EDO. LARA
Cdigos
Circuitos Digitales.
Seccin: Ti-17
Parte III.
CODIGOS
Con esta codificacin especial de los dgitos decimales en el sistema binario, se pueden
realizar operaciones aritmticas como suma, resta, multiplicacin y divisin de nmeros en
representacin decimal.
Estos clculos pueden realizarse sin perder la precisin ni tener las inexactitudes en que
normalmente se incurre con las conversiones de decimal a binario puro y de binario puro a
decimal.
La conversin de los nmeros decimales a BCD y viceversa es muy sencilla, pero los
clculos en BCD se llevan ms tiempo y son algo ms complicados que con nmeros
binarios puros. Esto se debe a que en algunos casos se requiere aplicar un factor de
correccin si la suma produce un desbordamiento o un smbolo que no pertenezca al
cdigo.
Fundamentos
En BCD cada cifra que representa un dgito decimal (0, 1,...8 y 9) se representa con su equivalente
binario en cuatro bits (nibble o cuarteto) (esto es as porque es el nmero de bits necesario para
representar el nueve, el nmero ms alto que se puede representar en BCD). BCD slo se utilizan
10 de las 16 posibles combinaciones que se pueden formar con nmeros de 4 bits, por lo que el
sistema pierde capacidad de representacin, aunque se facilita la compresin de los nmeros. Esto
es porque el BCD slo se usa para representar cifras, no nmeros en su totalidad. Esto quiere decir
que para nmeros de ms de una cifra hacen falta dos nmeros BCD.
El decimal codificado en binario es un cdigo ponderado, puesto que cada dgito decimal puede
obtenerse a partir de su palabra Del cdigo asignando un peso fijo a cada bit de palabra del cdigo.
2
Los pesos para los bits BCD son 8, 4, 2 y 1, Y por esta razn el cdigo se denomina en ocasiones
cdigo BCD-8421.
Existe otro cdigo denominado cdigo de exceso 3, El cual no es un cdigo ponderado, pero tiene
una relacin aritmtica con el cdigo BCD: la palabra en este cdigo es la correspondiente palabra
de cdigo de BCD ms el valor 0011 o 3. Adems tienes la ventaja de ser un cdigo auto
completado, es decir, se puede obtener la palabra del cdigo para el complemento a nueve de
cualquier dgito complementando los bits individuales de la palabra en exceso 3.
Conversin de Decimal al cdigo y del cdigo a decimal.
En BCD cada cifra que representa un dgito decimal (0, 1,...8 y 9) se representa con su equivalente
binario en cuatro bits (nibble o cuarteto) (esto es as porque es el nmero de bits necesario para
representar el nueve, el nmero ms alto que se puede representar en BCD). En la siguiente tabla se
muestran los cdigos BCD ms empleados:
Decimal
0
1
2
3
4
5
6
7
8
9
Natural
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
Exceso 3
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
Por lo que si se desea representar algn nmero decimal en cdigo BCD, simplemente se sustituyen
cada uno de los dgitos decimales por su equivalente segn la tabla (ya sea en cdigo 8421 o exceso
3). Tomemos por ejemplo el nmero 127.
El BCD sigue siendo ampliamente utilizado para almacenar datos, en aritmtica binaria o
en electrnica.
En un circuito que maneja cdigo BCD, los nmeros se pueden mostrar fcilmente en
2. Cdigo Gray
Definicin
El cdigo binario reflejado o cdigo Gray, nombrado as en honor del investigador Frank Gray, es
un sistema de numeracin binario en el que dos valores sucesivos difieren solamente en uno de sus
dgitos.
Caractersticas
El problema con el cdigo binario en base 2 es que con interruptores mecnicos, es realmente difcil
que todos los interruptores cambien al mismo tiempo. En la transicin de los dos estados mostrados
arriba, hasta 5 interruptores cambian de sitio entre un estado y otro. En el lapso en el que los
interruptores estn cambiando, se pueden presentar salidas de informacin espurias. Si las salidas
mencionadas alimentan un circuito secuencial, probablemente el sistema presentar un error en
entrada de datos.
El cdigo gray resuelve este problema cambiando solamente un dgito a la vez, as que no existe
este problema. As, con una rueda codificada en GRAY se observa en la siguiente figura.
Aplicaciones y usos
El cdigo Gray fue diseado originalmente para prevenir seales ilegales (seales falsas o
viciadas en la representacin) de los switches electromecnicos, y actualmente es usado
5
Luego para llevar un nmero de binario a GRAY se siguen los siguientes pasos:
binario.
De izquierda derecha, sumar cada par adyacente de los bits en cdigo binario para
obtener el siguiente bit en cdigo GRAY.
BINARIO
GRAY
Luego para llevar un nmero de binario a GRAY se siguen los siguientes pasos:
GRAY.
A cada bit del cdigo binario generado se le suma el bit en cdigo GRAY de la posicin
adyacente.
(10100010)GRAY
GRAY
BINARIO
Luego, dicho nmero binario se convierte a decimal (mediante la suma ponderada del valor
posicional de cada digito binario, como se explic en la parte 2):
(11011100)2=(220)10
As se verifica el procedimiento para codificar o decodificar entre nmeros decimales y cdigo
GRAY.
3. Cdigo Hamming
Definicin
Todos los bits cuya posicin es potencia de dos se utilizan como bits de paridad (posiciones
1, 2, 4, 8, 16, 32, 64, etc.).
Los bits del resto de posiciones son utilizados como bits de datos (posiciones 3, 5, 6, 7, 9,
10, 11, 12, 13, 14, 15, 17, etc.).
Cada bit de paridad se obtiene calculando la paridad de alguno de los bits de datos.
Posee una distancia mnima de 3, es decir, tres representa la cantidad mnima de bits en que
cambia 2 palabras cualesquiera dentro del cdigo. Esta caracterstica es la que confiere al
cdigo Hamming la posibilidad de detectar un bit errado y corregirlo.
Aplicaciones y usos
sino tambin corregir los errores ocurridos sobre la cadena de informacin en el receptor.
Los cdigos de Hamming de distancia 3 y 4 se usan para detectar y corregir errores en los
sistemas de memoria de las computadoras, especialmente en grandes computadores de tipo
mainframe donde los circuitos de memoria tienen que ver con la mayora de las fallas del
sistema.
El cdigo Hamming es de gran atractivo para palabras de memoria sumamente amplias,
puesto que el nmero requerido de bits de paridad aumenta lentamente con la amplitud de
la palabra en la memoria.
Si se posee una palabra binaria que se desea codificar a Hamming, es necesario agregar bits de
paridad a la palabra en las posiciones de potencia
de datos de 7 bits (por ejemplo), cada uno de estos se presentara con una letra d. se agregan los bits
de paridad par (letras p):
9
11
X
X
P
X
X
(
10 9 8 7 6 X 5 P 4 X 3 P 2 P 1) HAMMING
X 11 X 10 X 9 X 7 X 6 X 5 X 3
Para obtener los valores de los bits de paridad
(P8 , P 4 , P2 , P 1)
P1=X 3 X 5 X 7 X 9 X 11
P2=X 3 X 6 X 7 X 10 X 11
P4 =X 5 X 6 X 7
P8= X 9 X 10 X 11
Y luego dichos bits calculados se asignan y distribuyen como el esquema planteado por el cdigo
Hamming.
Posteriormente, si se est trabajando con sistemas que emplean codificacin Hamming, la palabra
recibida se realiza el siguiente estudio para saber si posee un bit errado.
E1=P1 X 3 X 5 X 7 X 9 X 11
E2=P2 X 3 X 6 X 7 X 10 X 11
E4 =P4 X 5 X 6 X 7
E8=P 8 X 9 X 10 X 11
Donde
( E8 E4 E2 E1 )2
errado, al cual solo se debe cambiar su valor para corregir la palabra codificada. Para la
decodificacin de una palabra Hamming, por lo tanto, se requiere estudiar si existe algn bit errado,
corregirlo (si no hay error
simplemente los bits de datos descartando los bits de paridad agregados o bits de redundancia.
10
4. Cdigo ASCII
Definicin
ASCII (acrnimo ingls de American Standard Code for Information Interchange Cdigo
Estndar Estadounidense para el Intercambio de Informacin), es un cdigo de caracteres basado en
el alfabeto latino, tal como se usa en ingls moderno.
El cdigo ASCII utiliza 7 bits para representar los caracteres, aunque inicialmente empleaba un bit
adicional (bit de paridad) que se usaba para detectar errores en la transmisin. A menudo se llama
incorrectamente ASCII a otros cdigos de caracteres de 8 bits, como el estndar ISO-8859-1, que es
una extensin que utiliza 8 bits para proporcionar caracteres adicionales usados en idiomas distintos
al ingls, como el espaol.
Fundamento del cdigo
Las computadoras solamente entienden nmeros. El cdigo ASCII es una representacin numrica
de un carcter como a o @. Como otros cdigos de formato de representacin de caracteres, el
ASCII es un mtodo para una correspondencia entre cadenas de bits y una serie de smbolos
(alfanumricos y otros), permitiendo de esta forma la comunicacin entre dispositivos digitales as
como su procesado y almacenamiento.
Caractersticas
ASCII es, en sentido estricto, un cdigo de siete bits, lo que significa que usa cadenas de
bits representables con siete dgitos binarios (que van de 0 a 127 en base decimal) para
espacio).
Los dgitos del 0 al 9 se representan con sus valores prefijados con el valor 0011 en binario
(esto significa que la conversin BCD-ASCII es una simple cuestin de tomar cada unidad
BCD y prefijarla con 0011).
11
Las cadenas de bits de las letras minsculas y maysculas slo difieren en un bit,
simplificando de esta forma la conversin de uno a otro grupo.
Aplicaciones y usos
Casi todos los sistemas informticos actuales utilizan el cdigo ASCII o una extensin
compatible para representar textos y para el control de dispositivos que manejan texto como
el teclado.
El cdigo ASCII se desarroll en el mbito de la telegrafa y se us por primera vez
comercialmente como un cdigo de tele-impresin impulsado por los servicios de datos de
Bell.
Algunos sistemas operativos como DOS, podan trabajar con ASCII, y los fabricantes de
computadoras personales incluyeron soporte para dichas pginas en su hardware. Los
estndares de ocho bits como ISO 8859 y Mac OS Roman fueron desarrollados como
verdaderas extensiones de ASCII, dejando los primeros 127 caracteres intactos y aadiendo
nicamente valores adicionales por encima de los 7-bits. Esto permiti la representacin de
un abanico mayor de lenguajes, pero estos estndares continuaron sufriendo
incompatibilidades y limitaciones. Todava hoy, ISO-8859-1 y su variante Windows-1252
(a veces llamada errneamente ISO-8859-1) y el cdigo ASCII original de 7 bits son los
cdigos de carcter ms comnmente utilizados.
Binario
Dec
He
carct
Binario
0100 0000
Dec
64
Hex
40
carcter
@
Binario
0110 0000
Dec
96
Hex
60
carcter
`
12
0010 00
32
x
20
er
espacio
00
0010 00
33
21
01
0010 00
34
22
"
10
0010 00
35
23
11
0010 01
36
24
00
0010 01
37
25
01
0010 011
38
26
&
0
0010 011
39
27
'
1
0010 10
40
28
00
0010 10
41
29
01
0010 10
42
2A
10
0010 10
43
2B
11
0010 110
44
2C
0
0010 110
45
2D
1
0010 111
46
2E
0
0010 111
47
2F
1
0011 000
48
30
0
0011 000
49
31
1
0011 001
50
32
0
0011 001
51
33
1
0011 010
52
34
0
0011 010
53
35
1
0011 011
54
36
0
0011 011
55
37
1
0011 100
56
38
0
0011 100
57
39
1
0011 101
58
3A
0100 0001
0100 0010
0100 0011
0100 0100
0100 0101
0100 0110
0100 0111
0100 1000
0100 1001
0100 1010
0100 1011
0100 1100
0100 1101
0100 1110
0100 1111
0101 0000
0101 0001
0101 0010
0101 0011
0101 0100
0101 0101
0101 0110
0101 0111
0101 1000
0101 1001
0101 1010
0101 1011
0101 1100
0101 1101
0101 1110
0101 1111
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
50
51
52
53
54
55
56
57
58
59
5A
5B
5C
5D
5E
5F
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
0110 0001
0110 0010
0110 0011
0110 0100
0110 0101
0110 0110
0110 0111
0110 1000
0110 1001
0110 1010
0110 1011
0110 1100
0110 1101
0110 1110
0110 1111
0111 0000
0111 0001
0111 0010
0111 0011
0111 0100
0111 0101
0111 0110
0111 0111
0111 1000
0111 1001
0111 1010
0111 1011
0111 1100
0111 1101
0111 1110
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
61
62
63
64
65
66
67
68
69
6A
6B
6C
6D
6E
6F
70
71
72
73
74
75
76
77
78
79
7A
7B
7C
7D
7E
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
13
0011 101
59
3B
1
0011 110
60
3C
<
0
0011 110
61
3D
1
0011 111
62
3E
>
0
0011 111
63
3F
Caracteres de Control: El cdigo ASCII reserva los primeros 32 cdigos (numerados del 0
al 31 en decimal) para caracteres de control: cdigos no pensados originalmente para
representar informacin imprimible, sino para controlar dispositivos (como impresoras) que
usaban ASCII. Por ejemplo, el carcter 10 representa la funcin "nueva lnea" (line feed),
que hace que una impresora avance el papel, y el carcter 27 representa la tecla "escape"
que a menudo se encuentra en la esquina superior izquierda de los teclados comunes. El
cdigo 127 (los siete bits a uno), otro carcter especial, equivale a "suprimir" ("delete"). Y
as sucesivamente, se encuentra un amplio listado de caracteres de control manejados por
sistemas informticos actuales, como se observan en la siguiente tabla:
Binario
Decim
He
Abreviatu
Rep
AT
Nombre/Significado
0000 000
al
0
x
00
ra
NUL
^@
Carcter Nulo
0
0000 000
01
SOH
^A
Inicio de Encabezado
1
0000 001
02
STX
^B
Inicio de Texto
0
0000 001
03
ETX
^C
Fin de Texto
1
0000 010
04
EOT
^D
Fin de Transmisin
0
0000 010
05
ENQ
^E
Consulta
1
0000 011
06
ACK
^F
Acuse de recibo
0
0000 011
07
BEL
^G
Timbre
1
0000 100
08
BS
^H
Retroceso
0
0000 100
09
HT
^I
Tabulacin horizontal
1
0000 101
10
0A
LF
^J
Salto de lnea
0
0000 101
11
0B
VT
^K
Tabulacin Vertical
1
0000 110
12
0C
FF
^L
De avance
14
0
0000 110
13
0D
CR
^M
Retorno de carro
1
0000 111
14
0E
SO
^N
Maysculas fuera
0
0000 111
15
0F
SI
^O
En maysculas
1
0001 000
16
10
DLE
^P
0
0001 000
17
11
DC1
^Q
1
0001 001
18
12
DC2
^R
XON
Dispositivo de control 2
0
0001 001
19
13
DC3
^S
1
0001 010
20
14
DC4
^T
XOFF
Dispositivo de control 4
0
0001 010
21
15
NAK
^U
Confirmacin negativa
1
0001 011
22
16
SYN
^V
Sncrono en espera
0
0001 011
23
17
ETB
^W
1
0001 100
24
18
CAN
^X
Cancelar
0
0001 100
25
19
EM
^Y
1
0001 101
26
1A
SUB
^Z
Substituto
0
0001 101
27
1B
ESC
^[ or ESC
Escape
1
0001 110
28
1C
FS
^\
Separador de fichero
0
0001 110
29
1D
GS
^]
Separador de grupo
1
0001 111
30
1E
RS
^^
Separador de registro
0
0001 111
31
1F
US
^_
Separador de unidad
1
0111 111
127
7F
DEL
Eliminar
ace
15
Aplicaciones y usos
Tenemos el carcter original 0111001. Vemos que la trama a transmitir tiene un nmero par de unos
(4 unos). Al aadir el bit de paridad obtendremos el siguiente carcter, que es el que se transmitir a
destino:
Si usamos paridad par, ya hay un nmero par de unos, por tanto se aade un 0, y
transmitiremos 01110010.
Si usamos paridad impar, como hay un nmero par de unos, aadiremos otro 1 para
conseguir un nmero impar, y transmitiremos 01110011.
Siguiendo los ejemplos anteriores, y alterando dos bits en la transmisin, veremos como el mtodo
de deteccin de errores falla:
17
Como ya se mencion, el cdigo de paridad ya sea par o impar permite detectar errores si el nmero
de bits errados en la palabra codificada es impar.
Bibliografa
Prezi (2013) Aplicaciones del cdigo Hammnig y bit de paridad en sistemas [en lnea]. Disponible
en: https://prezi.com/spv-oaygi-cc/aplicaciones-del-codigo-hamming-y-bit-de-paridad-ensistemas/ [consultado: 11/11/2015]
Wikipedia
(2015).
Decimal
codificado
en
BCD
[en
lnea].
Disponible
en:
(2015).
Distancia
de
Hamming
[en
lnea].
Disponible
en:
18