Documentos de Académico
Documentos de Profesional
Documentos de Cultura
05 Códigos
05 Códigos
DETECTORES DE ERROR
1 Codificacin de nmeros y tipos de cdigos
1.1 Sistema Numrico Binario
1.2 Sistema Numrico Octal
1.3 Sistema Numrico Hexadecimal
1.4 Cdigos
1.4.1 Cdigo Decimal Codificado en Binario
1.4.2 Cdigo Exceso-3
1.4.3 Cdigo Gray
1.4.4 Cdigos Alfanumricos
1.
1.1
1 0 1
24 +23
+21 +20
binario
= 16 + 8 + 2 + 1
= 2710 (decimal)
Es mismo mtodo se emplea para nmeros binarios que contienen una parte
fraccional:
1 0 1 . 1 0 1 = 22 + 20 + 2-1 + 2-3 = 4 + 1 + 0.5 + 0.125 = 5.62510
EJEMPLO 1.
conversiones:
a)
b)
c)
1001102 = 3810
0.1100012 = 0.76562510
11110011.01012 = 243.31510
Otro ejemplo:
25.37510 = 16 + 8 + 1 + 0.25 + 0.125 =
= 24 +23 +0 +0 +20 .
= 1
Para nmeros decimales
mayores, el mtodo
anterior es laborioso. Un
mtodo ms conveniente,
consiste en la conversin
separada de las partes
entera y fraccionaria. Por
ejemplo, para el nmero
decimal 25.375, el cual se
convirti previamente, el
primer paso es la
0 0
+2-2 +2-3 =
1 .0 1
12
EJEMPLO 2.
632.8510 = 1001111000.110112
1.2
Otro ejemplo:
24.68 = 2 x (81) + 4 x (80) + 6 x (8-1) = 20.7510
Los mtodos para convertir
un nmero decimal a su
equivalente octal son los
mismos como los usados
para convertir de decimal a
binario. Para convertir un
entero decimal a octal, se
divide progresivamente el
nmero decimal por 8,
anotando los residuos
despus de cada divisin.
Los residuos representan los
dgitos del nmero octal,
con el primer residuo como
el menos significativo (bms).
Como ejemplo, convertir 26610 a octal:
Las fracciones decimales se convierten a octal multiplicando
progresivamente por 8 y
escribiendo los acarreos en
la posicin despus del
punto octal. Por ejemplo,
0.38 se convierte a octal
como sigue:
Note que el primer
acarreo es el bit ms
significativo (BMS) de la
Equivalente binario 000 001 010 011 100 101 110 111
Usando estos equivalentes, cualquier nmero octal se convierte a binario
por conversin individual de cada dgito. Por ejemplo, se puede pasar 4728 a
binario como sigue:
4
4 . 3
2 . 5
Note que se aadieron ceros a cada lado para completar los grupos de a
tres. As, la conversin deseada es 32.548.
1.3
0
1
2
3
4
5
6
7
8
9
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
A
B
C
D
E
F
10
11
12
13
14
15
1010
1011
1100
1101
1110
1111
= 3A616
9F116 =
1.4
Cdigos
1001111100102
3
^
El cdigo BCD, entonces representa cada dgito del nmero decimal por un
nmero binario de 4 bits. Claramente, slo los nmeros binarios de 4 bits
desde 0000 hasta 1001 se usan. El cdigo BCD no usa los nmeros 1010,
1011, 1100, 1101, 1110 y 1111. En otras palabras, slo 10 de los 16 grupos
codificados posibles de 4 bits se usan. Si cualesquiera de estos nmeros
prohibidos de 4 bits alguna vez ocurren en una mquina que usa el cdigo
BCD, generalmente indica que ha ocurrido un error.
EJEMPLO 3.
decimal:
EJEMPLO 4.
decimal:
0111
1100
0001
binario
sistema decimal son los circuitos lgicos los que ejecutan las conversiones a
y desde decimal.
BCD se usa en mquinas digitales siempre y cuando se aplique informacin
digital, ya sea como entradas o mostradas como salidas. Los voltmetros
digitales, contadores de frecuencia y relojes digitales usan todos BCD, porque
despliegan la informacin de salida en decimal. Las calculadoras electrnicas
usan BCD porque los nmeros de entrada vienen en decimal va el teclado y
los nmeros de salida son mostrados en decimal.
BCD no es a menudo usado en computadoras digitales modernas de alta
velocidad por dos buenas razones. Primero, como ya fue sealado, el cdigo
BCD para un nmero decimal dado requiere ms bits que el cdigo binario
directo y es por consiguiente menos eficiente. Esto es importante en
computadoras digitales porque el nmero de lugares en memoria donde estos
bits pueden ser almacenados es limitado. Segundo, los procesos aritmticos
para nmeros representados en cdigo BCD son ms complicados que en
binario ordinario y requieren as de circuitera ms compleja. La circuitera ms
compleja contribuye a una disminucin en la velocidad a la cual tienen lugar las
operaciones aritmticas. Las calculadoras que usan BCD son, por
consiguiente, considerablemente ms lentas en su operacin que las
computadoras.
1.4.2
Cdigo exceso-3
6
+3 aada 3 a cada dgito
7
9 convierta a cdigo binario de 4 bits
0111 1001
La siguiente tabla muestra las listas para las representaciones BCD y
exceso-3 para los dgitos decimales. Note que ambos cdigos usan 10 de los
16 posibles grupos codificados de 4 bits. El cdigo exceso-3, sin embargo, no
usa los mismos grupos codificados. Para exceso-3, los grupos codificados no
vlidos son 0000, 0001, 0010, 1101, 1110 y 1111.
Decimal BCD Exceso-3
0
1
2
3
4
5
5
7
8
9
1.4.3
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
Cdigo Gray
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
0000
0001
0011
0010
0110
0111
0101
0100
1100
1101
1111
1110
1010
1011
1001
1000
El cdigo Gray se usa a menudo donde otros cdigos tales como el binario,
pudieran producir resultados errneos o ambiguos durante esas transiciones
en las cuales ms de un bit del cdigo est cambiando. Usando el cdigo
binario, por ejemplo, y yendo de 0111 a 1000 requiere que todos los 4 bits
cambien simultneamente. Dependiendo del dispositivo o circuito que est
generando los bits, puede haber una diferencia significativa en los tiempos de
transicin de los diferentes bits. Si esto es as, las transiciones de 0111 a 1000
pudiera producir uno o ms estados intermedios. Por ejemplo, si el bit ms
significativo cambia ms rpido que el resto, ocurrirn las siguientes
transiciones:
0111 decimal
1111 cdigo errneo
1000 decimal 8
La ocurrencia de 1111 es slo momentnea pero pudiera concebiblemente
producir una operacin errnea de los elementos que estn siendo controlados
por los bits. Obviamente, usando el cdigo Gray se elimina este problema,
puesto que slo ocurre el cambio de un bit por transicin y no puede ocurrir
una carrera.
Cualquier nmero binario puede convertirse a su representacin en cdigo
Gray como sigue:
1. El primer bit del cdigo Gray es el mismo como el primer bit del nmero
binario.
2. El segundo bit del cdigo Gray es igual a la operacin O EXCLUSIVA del
primer y segundo bits del nmero binario; esto es, ser 1 si estos bits
del cdigo binario son diferentes y 0 si son los mismos.
3. El tercer bit del cdigo Gray es igual a la O EXCLUSIVA del segundo y
tercer bits del nmero binario y as sucesivamente.
Para ilustrar esto, convirtamos el binario 10110 al cdigo Gray:
1
0 cdigo binario
1 cdigo Gray
El primer bit del cdigo Gray es el mismo como el primer bit del cdigo
binario. El primero y segundo bits del cdigo binario son diferentes, dando
un 1 para el segundo bit Gray. El segundo y tercer bits del nmero binario
son diferentes, dando un 1 para el tercer bit Gray. El tercero y cuarto bits del
nmero binario son lo mismo, as que el cuarto bit Gray es 0. Finalmente, el
cuarto y quinto bits binarios son diferentes, dando un quinto bit Gray de 1.
1 binario
1 Gray
1 Gray
1 binario
BCD
Gray Exceso-3
84218421 8 4 2 1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1
1
1
1
0
0
0
0
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
1 0 0 1 1 1 0 1 1 1 0 0
10
:
15
x x x x x x x x
: : : : : : : :
x x x x x x x x
CDIGO
Decimal
8 4 -2 -1
Biquinario
8 4 -2 -1 5 0 4 3 2 1 0
0
1
2
3
4
5
6
7
8
9
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
10
:
15
x x x x x x x x x x x
: : : : : : : : : : :
x x x x x x x x x x x
1.4.4
Cdigos alfanumricos
6-bits
7-bits
Cdigo interno Cdigo ASCII
A
B
C
D
E
:
V
W
X
Y
Z
010 001
010 010
010 011
010 100
010 101
:
110 101
110 110
110 111
111 000
111 001
100 0001
100 0010
100 0011
100 0100
100 0101
:
101 0110
101 0111
101 1000
101 1001
101 1010
000 000
011 0000
1
2
3
:
7
8
9
000 001
000 010
000 110
:
000 111
001 000
001 001
011 0001
011 0010
011 0011
:
011 0111
011 1000
011 1001
espacio
.
(
:
/
,
=
110 000
011 011
111 100
:
110 001
111 011
001 011
010 0000
010 1110
010 1000
:
010 1111
010 1100
011 1101
Tabla funcional:
DEC
0
1
2
3
4
5
BCD
G RAY
A B C D G3 G2 G1 G0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
1
1
1
0
1
1
0
0
1
6
7
8
9
0
0
1
1
1
1
0
0
1
1
0
0
0
1
0
1
10
:
15
0
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
x
:
x
x
:
x
x
:
x
x
:
x
B, C, D) = JM (0-7) Jx (10-15)
B, C, D) = JM (0-3) Jx (10-15)
B, C, D) = JM (0,1,6-9) Jx (10-15)
B, C, D) = JM (0,3,4,7,8) Jx (10-15)
B, C, D) = A
B, C, D) = A + B
B, C, D) = (B + C)(B' +C')
B, C, D) = (C + D)(C' +D')
Logigrama:
a)
Tabla funcional:
CDIGO
Decimal
0
1
2
3
4
5
6
7
8
9
10
:
15
Exceso-3
E3 E2 E1 E0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
mi
8 4 -2 -1
ABC D
3
4
5
6
7
8
9
10
11
12
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0-2
x x x x
13-15 x x x x
d)
Logigrama:
3 PARIDAD
La transmisin de datos binarios de una localizacin a otra es un lugar
comn en todos los sistemas digitales. Se presentan cuatro ejemplos de esto:
1. Salida de datos binarios desde una computadora y que estn
registrndose en cinta magntica.
2. Transmisin de datos binarios por lnea telefnica, tal como entre una
computadora y una consola remota.
3. Un nmero se toma de la memoria de la computadora y se coloca en la
unidad aritmtica, en donde se aade a otro nmero. La suma es luego
regresada a la memoria.
4. Informacin almacenada en un disco flexible se lee para cargarse en la
memoria de una computadora personal.
Lo anterior se ejemplifica
en la figura adjunta.
El proceso de transferir
datos est sujeto a error,
aun cuando el equipo
moderno ha sido diseado
para reducir la probabilidad
de error. Sin embargo, aun
errores relativamente
infrecuentes pueden causar
resultados intiles, as que
es deseable detectarlos
siempre que ello sea
10110
1
^
0 0 0 0 1
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
1 1 0 0 1
1 1 1 1 0
(2)
(4)
= A'(B'C + BC')
+ A(B'C' + BC) =
= A'(B r C) + A(B r C)' =
=ArBrC
Como Pi es el
complemento de Pp,
entonces:
Pi (A, B, C) = (A r B r C)'
El logigrama de Pp junto
con una posible aplicacin
es:
DISTANCIA:
(1)
M = Distancia mnima
D = Bits errneos que se detectan
C = Bits errneos que se corrigen
La Tabla 1, muestra la relacin para diferentes valores de M, D y C:
Tabla 1
M D C
0 0 0
1 0 0
2 1 0
3
2 0 Cdigo de
1 1 Hamming
3 0
2 1
4 0
5 3 1
2 2
Considerando a:
k = Nmero de bits de verificacin de paridad
y
M=k
Entonces, la relacin entre los bits de paridad y los bits del cdigo original,
est dada por la siguiente expresin:
2k - 1 = k + n
(2)
donde:
n
= No. de bits del cdigo original
k + n = No. de bits del nuevo cdigo
La siguiente tabla, muestra la relacin entre k y n, para algunos valores de k:
k n k+n
0 0
1 0
2 1
3 4
4 11 15
Cdigo de Hamming
5 26 31
De la tabla anterior, se observa que entre ms bits de seguridad se deseen
en el cdigo de inters, el nmero de bits de ste aumenta considerablemente.
Para un cdigo original de 4 bits A, B, C y D, al que le corresponden 3 bits
de paridad C1, C2 y C3, stos se colocan en las posiciones 2n, con n=0,1,2; es
decir, en las posiciones 1, 2 y 4, como se muestra a continuacin:
1 2 3 4 5 6 7
C1 C2 A C3 B C D
Cada bit de paridad se selecciona para generar paridad (par o impar) en
las siguientes posiciones:
C1 6 1,3,5,7
C2 6 2,3,6,7
C3 6 4,5,6,7
Una manera sencilla de recordar las posiciones para generar paridad de
cada uno de los bits de paridad, se muestra en la siguiente tabla:
1 2 3 4 5 6 7 Posicin
C1 1 0 1 0 1 0 1 1,3,5,7
C2 0 1 1 0 0 1 1 2,3,6,7
C3 0 0 0 1 1 1 1 4,5,6,7
Por ejemplo, si se quiere transmitir 910 = 10012 con paridad par, el nuevo
cdigo ser:
1 2 3 4 5 6 7
C1 C2 A C3 B C D
0 0 1 1 0 0 1 nuevo cdigo
Tabla funcional.
DEC
0
1
2
3
4
5
6
7
8
9
10
:
15
Cdigo exceso-3
E3
E2
E1
E0
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
mi
3
4
5
6
7
8
9
10
11
12
Cdigo a transmitir
C1 C2 E3 C3 E2 E1 E0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
0
1
0
0
1
1
0-2 x x
:
: :
13-15 x x
0
0
0
0
0
1
1
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
x
:
x
Reduccin por mapas K: Los mapas K para los bits de verificacin son:
(2)
(3)
(2)
(3)
(4)
(2)
Logigrama:
(3)
(4)
4 5 6 7 8 9 10 11 12 13 14 15
C1 C2 x10 C3 x9 x8 x7 C4 x6 x5 x4 x3 x2 x1 x0
Donde: C1, C2, C3 y C4 son los bits de verificacin y x10, x9, ... , x0
corresponden al cdigo original.
5 EJERCICIOS
1. Realice un circuito convertidor de cdigo Gray a binario para 4 bits, de
tal manera que se utilicen slo compuertas O EXCLUSIVAS.
De BCD a 8 4 -2 -1.
De BCD a 2 4 2 1
BCD
8 4 -2 -1
2421
ABCDWXY Z
0
1
2
3
4
5
6
7
8
9
0
0
0
0
0
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
1
1
1
1
1
0
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
10
:
15
x x x x x x x x
: : : : : : : :
x x x x x x x x
110000011101101
Determine si existe error y en qu posicin se encuentra.
7. Codificar el carcter de informacin 01101110101 de acuerdo con el
cdigo de Hamming de 15 bits.
8. Si existe, determinar cul bit est equivocado en el carcter con cdigo
de Hamming 1100111.
10. .
NOTA: A, H1 y E3 son las variables de mayor peso binario. Considere los trminos
indiferentes.
11.
. Dado el cdigo 8 4 -2 -1 (BCD), determine el nuevo cdigo de
Hamming con distancia mnima de 3 y obtenga el logigrama reducido
utilizando slo inversores y compuertas No-O. Considere los trminos
indiferentes.
BCD
BIQUINARIO
D8 D4 D2 D1 B5 B0 Q4 Q3 Q2 Q1 Q0
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
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0