Sei sulla pagina 1di 86

SISTEMAS NUMERICOS

2009

Sistemas Digitales

SISTEMAS NUMERICOS
Conjunto ordenado de smbolos llamados dgitos,
con relaciones definidas para operaciones de :
Suma , Resta, Multiplicacin y Divisin
La base (r) del sistema representa el nmero total
de dgitos permitidos, por ejemplo:
r=2 Binario

dgitos: 0,1

r=10 Decimal

dgitos: 0,1,2,3,4,5,6,7,8,9

r=8 Octal

dgitos: 0,1,2,3,4,5,6,7

r=16 Hexadecimal dgitos:0,1,2,3,4,5,6,7,8,9


Conceptos de distributividad,
conmutatividad y asociatividad
se usan en todos los sistemas
Sistemas Digitales

A,B,C,D,E,F
2

NOTACION POSICIONAL
En general, un nmero positivo puede escribirse
como:
Ejemplos
N= (an-1.a1a0a-1a-2.a-m)r
(123.45)10
Donde:
.= punto decimal

(1001.11)2
(763.12)8

r= base o decimal

(3A.2F)16
n= nmero de dgitos enteros positivos
m= nmero de dgitos enteros negativos
an-1= dgito ms significativo (MSD)
a-m= dgito menos significativo (LSD)
Sistemas Digitales

NOTACION POLINOMIAL

n 1

a r

i m

Ejemplos
(123.45)10 = 1*102+2*101+3*100+4*10-1+5*10-2
(1001.11)2 = 1*23+0*22+0*21+1*20+1*2-1+1*2-2
(763.12)8 = 7*82+6*81+3*80+1*8-1+2*8-2
(3A.2F)16 = 3*161+A*160+2*16-1+F*16-2
Donde: A=10, B=11, C=12, D=13, E=14 y F=15
Sistemas Digitales

Decimal

Binario

Octal

Hexadecimal

10

11

100

101

de

110

111

uso comn

1000

10

1001

11

10

1010

12

11

1011

13

12

1100

14

13

1101

15

14

1110

16

15

1111

17

Sistemas

Sistemas Digitales

Conversin de un sistema de Base r a Base 10


Utilizando la notacin polinomial:
Ejemplos:
(10100)2 = 1*24+0*23+1*22+0*21+0*20 =(20)10

(AF3.15)16 = 10*162+15*161+3*160+1*16-1
+5*16-2 = (2803.08203125)10

Sistemas Digitales

Conversin de un sistema de Base r a Base 10


Utilizando la nocin de los pesos:
Ejemplo en el sistema Binario (r = 2):
Peso (21)

:8 4 2 1

Digito (bi) : b3 b2 b1 b0
(1001)2 = 8 + 1 = (9)10
(0101)2 = 4 + 1 = (5)10

Sistemas Digitales

Conversin de un sistema de Base 10 a Base r


Ejemplos de nmeros enteros :
Utilizando divisiones sucesivas por la Base
msb = bit ms significativo
(234)10 = (EA)16
(13)10 = (1101)2
234

13 : 2
1

:2

:2

:2

10

14 :16

14

msb
Sistemas Digitales

:16

msb
8

Conversin de un sistema de Base 10 a Base r


Ejemplos de nmeros enteros y decimal. Sean los
nmeros decimales 13.12510 y 234.2510
Utilizando divisiones sucesivas por la Base para la
parte entera (caso anterior) y multiplicaciones
sucesivas por la Base para la parte decimal.
msb

entero

msb

entero

0.125

X2

25

X 16

0.250

X2

00

X 16

0.500

X2

1101.0012
Sistemas Digitales

EA.4016
9

Conversin de un sistema de Base 10 a Base 8


Ejemplo : convertir (145.64)10 a nmero octal
Parte Entera : 14510= 2218
Entero

Base

Cuociente

Resto

145

18

18

Sistemas Digitales

10

Conversin de un sistema de Base 10 a Base 8


Ejemplo : convertir (145.64)10 a nmero octal
Parte Decimal : 0.6410 = 0.507534.8
Decimal

Base

Producto

Acarreo

0.64

5.12

0.12

0.96

0.96

7.68

0.68

5.44

0.44

3.52

0.52

4.16

aproximacin
Sistemas Digitales

11

Conversin entre Base Binaria y Hexadecimal


Base Binaria a Base Hexadecimal
( 1100 0011 1111 . 1101 )2 = ( C3F.D )16
C

( 0001 1000 )2 = ( 18 )16

Completando
Con 0s
Sistemas Digitales

12

Conversin entre Base Binaria y Hexadecimal


Base Base Hexadecimal a Base Binaria

( 4AB.F5 )16 = ( 0100 1010 1011 . 1111 0101 )2

Sistemas Digitales

13

Conversin entre Base Binaria y Octal


Base Binaria a Base Octal
( 010 000 111 111 . 110 100 )2 = ( 2077.64 )8

Completando
Con 0s
Base Base Octal a Base Binaria
( 457.05 )8 = ( 100 101 111 . 000 101 )2

Sistemas Digitales

14

BCD : Binary Coded Decimal


Representacin en cdigo binario de 4 bits de los
nmeros decimales.
Nmeros Decimales

Cdigo BCD

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

Sistemas Digitales

15

BCD : Binary Coded Decimal


Ejemplo:
( 4096 )10

4
0
9
6
= 0100 0000 1001 0110

Nmero decimal

Representacin BCD

Comparacin con su representacin en Base


binaria.
( 4096 )10 = ( 1000000000000 )2

Sistemas Digitales

16

ARITMETICA BINARIA ( SUMA )


Condiciones :
0+0=0
0+1=1
1+0=1
1 + 1 = 0 ms un acarreo a la siguiente
posicin ms significativa.

Sistemas Digitales

17

ARITMETICA BINARIA ( SUMA )


Ejemplo :
Acarreos

+
1

SUMA
Sistemas Digitales

18

ARITMETICA BINARIA ( SUMA )

Ejemplo :

Sistemas Digitales

19

ARITMETICA BINARIA ( SUMA )


Ejemplo :
10

+
1

Sistemas Digitales

Acarreos

10

10

10

10

Suma

20

ARITMETICA BINARIA ( RESTA )


Condiciones :
0-0=0
1-0=1
1-1=0
0 1 = 1 tomando prestado 1,
10 1 = 1
La ltima regla seala que si se resta un bit 1 de un
bit 0, hay que tomar prestado un 1 de la siguiente
columna ms significativa.
Sistemas Digitales

21

ARITMETICA BINARIA ( RESTA )


Ejemplo : Restar 10011012 - 101112
6

1
0

Sistemas Digitales

Columnas
Prestamos

10

10 10

Prestamos

10

Minuendo

Sustraendo

Diferencia

22

ARITMETICA BINARIA ( RESTA )


Ejemplo : Restar 111012 - 101112

Columnas

Minuendo

Sustraendo

Diferencia

1+0=1 0+1=1 1+1=0 1+0=1


1

Sistemas Digitales

23

ARITMETICA BINARIA ( MULTIPLICACION)


Ejemplo: Multiplicar 101112 por 10102
1

Multiplicando

Multiplicador

Sistemas Digitales

Producto
24

ARITMETICA BINARIA (MULTIPLICACION)


Ejemplo: Multiplicar 101112 por 10102
1

0
1

1
0

1
1

1
0

Multiplicando
Multiplicador

0
0

0
1

0
1

0
1

Producto 1
Producto 2

0
0

1
0

1
0

Acumulativo 1
Producto 3

0
1

1
1

Acumulativo 2
Producto 4

Producto

1
1

+
+ 1
1

0
0

0
1

0
1

1
1

Sistemas Digitales

25

ARITMETICA BINARIA (DIVISION)


Ejemplo: Dividir 11101112 entre 10012

Divisor

1 1 0 1

Cuociente

1 0 0 1 1 1 1 0 1 1 1

Dividendo

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

Sistemas Digitales

Residuo

26

ARITMETICA OCTAL (SUMA y RESTA)


Ejemplo: Sumar 41638 + 75208
1

Acarreos

Sumando

Sumando

Suma

Ejemplo: Sustraer 51738 de 62048

10

Minuendo

Sustraendo

Diferencia

Sistemas Digitales

Prestado

27

ARITMETICA OCTAL (Multiplicacin)


Ejemplo: Multiplicar 41678 x 25038
4

Multiplicando

Multiplicador

Productos Parciales

Producto

+ 1

Sistemas Digitales

28

ARITMETICA OCTAL (Divisin)


Ejemplo: Dividir 41638 : 258

Divisor

Cuociente

Dividendo

0
Sistemas Digitales

Residuo
29

ARITMETICA HEXADECIMAL ( Suma)


Ejemplo: Sumar 2A5816 + 71D016
1

Sistemas Digitales

Acarreos

Sumando

Sumando

Suma

30

ARITMETICA HEXADECIMAL ( Resta)


Ejemplo: Sustraer 4A3616 de 9F1B16

11

Minuendo

Sustraendo

Diferencia

Sistemas Digitales

Prestamos

31

ARITMETICA HEXADECIMAL (Multiplicacin)


Ejemplo: Multiplicar 5C2A16 X 71D016

Multiplicando

Multiplicador

Productos
Parciales

Producto

Sistemas Digitales

32

ARITMETICA HEXADECIMAL (Divisin)


Ejemplo: Dividir 27FCA16 : 3E16

Divisor

Sistemas Digitales

Cuociente

Dividendo

6
6

Residuo
33

NUMEROS SIGNADOS
Las computadoras construyen los signos + y -
mediante los bits 0 y 1 respectivamente.
Mediante un bir adicional, conocido como bit de
signo es puesto como el bit ms significativo de
una expresin binaria.
Ejemplo:

Magnitud
-1310 = 1,11012

Bit de
Signo

+2710=0,11011
Separador
de
Signo

Sistemas Digitales

34

NUMEROS SIGNADOS
Representacin de los Complementos
Representacin en Complemento 1s
La representacin en complemento 1s de un
nmero binario signado, se expresa cambiando el
operando del nmero por su complemento (0 por 1
y 1 por 0) y manteniendo el bit de signo.
Por ejemplo:
Sea N= +6 valor positivo, de representacin binaria
0,01102 , su complemento 1a ser 0,10012.
Sea N= -17 valor negativo, de representacin
binaria 1,100012 ,
su complemento 1s ser
1,011102.
Sistemas Digitales

35

NUMEROS SIGNADOS
Representacin de los Complementos
La primera ventaja de complementar nmeros, es
que el proceso de la sustraccin se ejecuta por la
adicin de ellos. Asuma por ejemplo, que se desea
realizar la operacin siguiente:
(+1710) (+1210) = (+1710) + (-1210)
Sea N=(+1710) = 0,100012 y N=(+1210)= 0,011002,
El complemento 1s de N(-1210) = 1,100112 , luego se
tiene N=(+1710) + N=(-1210)

Sistemas Digitales

36

NUMEROS SIGNADOS
Representacin de los Complementos
1

0,

Bits de
acarreo
+ 1710

1,

- 1210

0,

+ 410

+
0,

Sistemas Digitales

+ 510

37

NUMEROS SIGNADOS
Rango de representacin de los nmeros signados.
Combinando 8 bits (1 byte), se pueden representar
hasta 256 nmeros diferentes. Con dos bytes,
hasta 65.536 nmeros diferentes. La frmula para
calcular el nmero de combinaciones diferentes de
n bits es:
N total de combinaciones = 2n
Para los nmeros con signo en complemento a 2, el
rango de valores para nmeros de n bits es:
-(2n-1) a +(2n-1 -1)
habiendo en cada caso un bit de signo y n-1 bits de
magnitud. Con 4 bits el rango es de -8 a +7.
Sistemas Digitales

38

ARITMETICA BINARIA DE NUMEROS CON SIGNO


LA SUMA
Cuando se suman dos nmeros binarios con signo
se pueden producir cuatro casos:
1. Ambos nmeros son positivos.
2. El nmero positivo es mayor que el negativo en
valor absoluto.
3. El nmero negativo es mayor que el positivo en
valor absoluto.
4. Ambos nmeros son negativos.

Sistemas Digitales

39

ARITMETICA BINARIA DE NUMEROS CON SIGNO


Caso 1:
Cs+1 Cs

0, 0 0 0 0 1 1 1

+7

+ 0, 0 0 0 0 1 0 0

+4

0, 0 0 0 1 0 1 1

+11

Si Cs+1 = Cs se descarta Acarreo


Si Cs+1 Cs se considera Acarreo
y la coma se desplaza un bit a la
izquierda
Sistemas Digitales

40

ARITMETICA BINARIA DE NUMEROS CON SIGNO


Caso 2:
0, 0 0 0 1 1

1 1

+15

+ 1, 0 0 0 0 1

1 0

-6

0, 0 0 0 1 1 1 1

+15

+ 1, 1 1 1 1 0 1 0

-6

0, 0 0 0 1 0 0 1

+9

Sistemas Digitales

Compl. 2

41

ARITMETICA BINARIA DE NUMEROS CON SIGNO


Caso 3:
0, 0 0 1 0 0

0 0

+16

+ 1, 0 0 1 1 0

0 0

-24

0, 0 0 1 0 0

0 0

+16

+ 1, 1 1 0 1 0

0 0

-24 Compl. 2

1, 1 1 1 1 0

0 0

Sistemas Digitales

-8

42

ARITMETICA BINARIA DE NUMEROS CON SIGNO


Caso 4:
1, 0 0 0 0 1

0 1

-5

+ 1, 0 0 0 1 0

0 1

-9

1, 1 1 1 1 0

1 1

-5 Compl. 2

+ 1, 1 1 1 0 1

1 1

-9 Compl. 2

1, 1 1 1 0 0

1 0

Sistemas Digitales

-14

43

ARITMETICA BINARIA DE NUMEROS CON SIGNO


LA RESTA

Sistemas Digitales

N1

MINUENDO

N2

SUSTRAENDO

+N3

DIFERENCIA

44

ARITMETICA BINARIA DE NUMEROS CON SIGNO


LA RESTA
Se deben aplicar dos reglas en la sustraccin en
complemento 2s :
Regla I
Al sacar el complemento 2s del sustraendo se debe
considerar lo siguiente:
1. Si es un nmero Positivo cmbielo a un nmero
negativo en complemento 2s.
2. Si es un nmero Negativo cambie la magnitud
del nmero a uno positivo, es decir, slo
complementa el signo.
Sistemas Digitales

45

ARITMETICA BINARIA DE NUMEROS CON SIGNO


LA RESTA
Regla II
Despus de sacar el complemento 2s del
sustraendo smelo al minuendo y obtenga la
diferencia.
El bit correspondiente al signo de la diferencia
determina si ste es positivo o negativo y desde
luego si se encuentra en la forma binaria
correcta
o en complemento 2s.

Sistemas Digitales

46

ARITMETICA BINARIA DE NUMEROS CON SIGNO


LA RESTA

Ejemplos :

0,

+9

0,

+4
+5

0,

+9

1,

+4

0,

+5

Sistemas Digitales

C. 2s

47

ARITMETICA BINARIA DE NUMEROS CON SIGNO


LA RESTA

Ejemplos :

0,

+9

1,

-4
+13

0,

+9

0,

-4

0,

+13

Sistemas Digitales

C. signo

48

ARITMETICA BINARIA DE NUMEROS CON SIGNO


LA RESTA

Ejemplos :

1,

-9

0,

+4
-13

1,

1,

1,

Sistemas Digitales

-9

C. 2s

+4

C. Signo
y 2s

-13
49

ARITMETICA BINARIA DE NUMEROS CON SIGNO


LA RESTA

Ejemplos :

1,

-9

1,

-4
-5

1,

-9

C. 2s

0,

-4

C. Signo

1,

-5

Sistemas Digitales

50

ARITMETICA BINARIA DE NUMEROS CON SIGNO


LA RESTA

Ejemplos :

0,

+4

1,

-4
+8

0,

+4

0,

-4

0,

+8

Sistemas Digitales

C. Signo

51

ARITMETICA DE NUMEROS EN CODIGO BCD


LA SUMA
BCD es un cdigo numrico y que puede utilizarse en
operaciones

aritmticas.

La

suma

es

la

ms

importante de estas operaciones, ya que las otras


tres

operaciones

(sustraccin,

multiplicacin

divisin) se pueden llevar a cabo utilizando la suma.


A continuacin, se explicar como se suman dos
nmeros en cdigo BCD.

Sistemas Digitales

52

ARITMETICA DE NUMEROS EN CODIGO BCD


LA SUMA
Paso 1. Sumar los dos nmeros BCD utilizando las
reglas de la suma binaria.
Paso 2. Si una suma de 4 bits es igual o menor que
9, es un nmero BCD vlido.
Paso 3. Si una suma de 4 bits es mayor que 9, o si
genera acarreos en el grupo de 4 bits, el
resultado no es valido. En este caso, se
suma 6 (0110) al grupo de 4 bits para saltar
as los seis estados no vlidos y pasar al
cdigo 8421. Si se genera un acarreo al
sumar 6, ste se suma al grupo de 4 bits
siguiente.
Sistemas Digitales

53

ARITMETICA DE NUMEROS EN CODIGO BCD


LA SUMA
1 0 0 1

+ 0 1 0 0
1 1 0 1

+
BCD no vlido > 9

+ 0 1 1 0

Se Suma 6

0 0 0 1

0 0 1 1

BCD vlido

Sistemas Digitales

4
13

54

ARITMETICA DE NUMEROS EN CODIGO BCD


LA SUMA
1 0 0 1

+ 1 0 0 1
1

0 0 1 0 No vlido por acarreo


+ 0 1 1 0

Se Suma 6

0 0 0 1

1 0 0 0

BCD vlido

Sistemas Digitales

9
18

55

ARITMETICA DE NUMEROS EN CODIGO BCD


LA SUMA
0 0 0 1

0 1 1 0

16

+ 0 0 0 1

0 1 0 1

+ 15

0 0 1 0
+ acarreo

1 0 1 1

1 + 0 1 1 0

0 0 1 1

0 0 0 1

Sistemas Digitales

BCD no vlido > 9


BCD vlido

31

Se Suma 6
BCDs vlidos

56

ARITMETICA DE NUMEROS EN CODIGO BCD


LA SUMA
0110

0111

67

0101

0011

+ 53

1011

1 0 1 0 BCDs no vlidos > 9

0110

0110

Se Suma 6

0 0 01

0010

0000

BCDs Vlidos

Sistemas Digitales

120

57

ARITMETICA DE NUMEROS EN CODIGO BCD


LA RESTA

0100

0101

45

0011

0100

- 34

0001

0001

Sistemas Digitales

11

BCDs vlidos

58

ARITMETICA DE NUMEROS EN CODIGO BCD


LA RESTA

0010

1000

28

0001

1001

- 19

0000
-

1111

BCD no vlido
BCD vlido

0110

Resta 6

1001

9
Sistemas Digitales

59

CODIGOS DIGITALES

Existen muchos cdigos especializados que se usan


en sistemas digitales, tales como el cdigo Gray, el
cdigo de exceso 3 y el cdigo ASCII.
El cdigo Gray es un cdigo sin pesos y no
aritmtico; es decir, no existen pesos especficos
asignados a la posicin de los bits. La caracterstica
ms importante del cdigo Gray es que slo vara
un bit de un cdigo al siguiente.

Sistemas Digitales

60

CODIGO DIGITAL GRAY


DECIMAL

BINARIO

GRAY

0000

0000

0001

0001

0010

0011

0011

0010

0100

0110

0101

0111

0110

0101

0111

0100

1000

1100

1001

1101

10

1010

1111

11

1011

1110

12

1100

1010

13

1101

1011

14

1110

1001

15

1111

1000

Sistemas Digitales

61

CODIGO DIGITAL GRAY


1. Convertir a
11000110.

cdigo

Gray,

el

nmero

binario

2. Convertir a binario el cdigo Gray 10101111.


Solucin
1. Binario a cdigo Gray:
1 + 1 + 0 + 0 + 0 + 1 + 1 + 0
1

Observacin : no tener en cuenta el acarreo


Sistemas Digitales

62

CODIGO DIGITAL GRAY


2. Cdigo Gray a Binario:

Sumar en esta direccin sin acarreo

Sistemas Digitales

63

CODIGO DIGITAL EXCESO 3


Es un cdigo digital relacionado con el BCD, y se
deriva de l sumando 3 a cada dgito decimal y
convirtiendo el resultado de esta suma en nmero
binario de 4 bits. Es un cdigo sin ningn peso.
DECIMAL

BCD

EXCESO-3

0000

0011

0001

0100

0010

0101

0011

0110

0100

0111

0101

1000

0110

1001

0111

1010

1000

1011

1001

1100

Sistemas Digitales

64

CODIGO DIGITAL EXCESO 3


Ejemplo:
Convertir a cdigo exceso 3 el nmero decimal 430
4
+

3
7

Exceso-3

0111

Sistemas Digitales

3
+

3
6

0110

0
+

3
3

0011
65

ASCII
El American Estndar Code for Information
Interchange (ASCII, cdigo estndar americano
para el intercambio de informacin), es un cdigo
alfanumrico universalmente aceptado, que se usa
en la mayora de los computadores y otros equipos
electrnicos (teclados).
Dispone de 128 caracteres que se representan por
cdigos binarios de 7 bits. Letras , nmeros y
smbolos.
Ejemplos:

Sistemas Digitales

Carcter

Binario

1010000

Hexadec.
5016

0111101

3D16
66

Mtodo de paridad para la deteccin de errores


Mucho sistemas emplean un bit de paridad como
medio para la deteccin de errores de bit.
Cualquier grupo de bits contiene un nmero par o
impar de 1s.
Un bit de paridad se aade al grupo de bits para
hacer que el nmero total de 1s en el grupo sea
siempre par o siempre impar.
Un bit de paridad par hace que el nmero total de
1s en el grupo sea par y un bit de paridad impar
hace que el nmero total de 1s en el grupo sea
impar.
Un determinado sistema puede funcionar con
paridad par o impar, pero no con ambas.
Sistemas Digitales

67

Mtodo de paridad para la deteccin de errores


Por ejemplo, si un sistema trabaja con paridad par,
una comprobacin que se realice en cada grupo de
bits recibidos tiene que asegurar que el nmero
total de 1s en ese grupo es par. Si hay un nmero
total impar de 1s, quiere decir que se ha producido
un error.
El bit de paridad se puede aadir al principio o al
final del cdigo, dependiendo del diseo del
sistema.
Observe que el nmero total de 1s incluyendo el bit
de paridad es siempre par para paridad par, y
siempre es impar para paridad impar.
Sistemas Digitales

68

Mtodo de paridad para la deteccin de errores


Deteccin de un error. Un bit de paridad facilita la
deteccin de un nico error de bit, pero no puede
detectar dos errores dentro de un grupo.
Ejemplo: Transmitir el cdigo BCD 0101 con
paridad par.
Bit de paridad par
00101
Cdigo BCD

Sistemas Digitales

69

Cdigo HAMMING de Correccin de Errores

Este cdigo no slo permite


errneo, sino tambin identifica
forma que pueda ser corregido.

detectar un
el bit errneo

bit
de

El cdigo utiliza un nmero de bits de paridad


(dependiendo del nmero de bits de informacin),
localizados en determinadas posiciones del grupo
del cdigo.
La deteccin del cdigo que aqu se presenta
corresponde a una nica correccin de error.

Sistemas Digitales

70

Cdigo HAMMING de Correccin de Errores


Nmeros de Paridad
Si al nmero de bits de informacin lo designamos
como m, entonces el nmero de bits de paridad, p, se
determina mediante la siguiente relacin:
2p> m + p + 1
Por ejemplo, si se tiene cuatros bits de informacin
(m=4), p se calcula mediante el mtodo de prueba y
error. Sea p=2, entonces
2p >=22=4

m+p+1=4+2+1=7

Puesto que p=2 no satisface la ecuacin, se busca


probar con p=3.
Sistemas Digitales

71

Cdigo HAMMING de Correccin de Errores

Sea p=3, entonces:


2p=23=8

m+p+1=4+3+1=8

este valor de p satisface la ecuacin, de manera que


se necesitan tres bits de paridad para proporcionar
correccin simple de errores para cuatro bits de
informacin.
Conviene fijarse en que la deteccin y correccin de
errores se proporciona para todos los bits, tanto de
paridad como de informacin, dentro de un grupo de
cdigo.

Sistemas Digitales

72

Cdigo HAMMING de Correccin de Errores


Situacin de los bits de paridad dentro del cdigo
Se debe tener en cuenta que en esta expresin, el
cdigo se compone de cuatro bits de informacin y de
tres bits de paridad.
El bit ms a la izquierda se designa como bit 1, el
siguiente bit 2, y as sucesivamente del mismo modo:
bit 1, bit 2, bit 3, bit 4, bit 5, bit 6 , bit 7

Sistemas Digitales

73

Cdigo HAMMING de Correccin de Errores


Los bits de paridad se sitan en las posiciones cuya
numeracin corresponde a las potencias de dos en
sentido ascendente (1,2,4,8,..), tal como se indica:
P1, P2, M1, P3, M2, M3, M4

El smbolo Pn designa un determinado bit de paridad y


Mn designa un determinado bit de informacin.

Sistemas Digitales

74

Cdigo HAMMING de Correccin de Errores


Asignacin de valores a los bits de paridad
1. Se tiene que asignar un valor 1 0 a cada bit de
paridad.
2. Dado que cada bit de paridad proporciona una
comprobacin de otros bits del cdigo total, se
tiene que conocer el valor de estos otros bits para
poder asignarle un valor.
3. Para encontrar los valores del bit, primero se
tiene que numerar cada posicin de bit en forma
de nmero binario.
4. A continuacin, se indica la situacin de los bits
de paridad y de informacin.
Sistemas Digitales

75

Cdigo HAMMING de Correccin de Errores


5. Tenga en cuenta que el nmero binario que indica la posicin
del bit de paridad P1 contiene un 1 como el dgito ms a la
derecha. Este bit de paridad comprueba todas las posiciones
de bit, includa la suya propia, que tiene como valor 1 en
la misma posicin que los nmeros binarios que indican la
posicin. Por consiguiente, el bit de paridad P1, comprueba
las posiciones de bit 1, 3, 5 y 7.
Tabla de posiciones de los bits para cdigo de correccin de errores
de 7 bits

Designacin de bit

P1

P2

M1

P3

M2

M3

M4

Posicin de bit

Nmero binario de posicin

001 010 011 100 101 110 111

Bits de informacin (Mn)


Bits de paridad (Pn)
Sistemas Digitales

76

Cdigo HAMMING de Correccin de Errores


6. El nmero binario de posicin para el bit de
paridad P2 tiene un 1 en el bit del medio.
Comprueba todas las posiciones de bit, includa la
suya propia, que tienen un 1 en la misma
posicin. Por lo tanto, el bit de paridad P2
comprueba las posiciones de bit 2, 3, 6 y 7.
7. Bajo la misma premisa, el bit de
comprobar las posiciones de bit 4, 5,

paridad P3,
6 y 7.

8. En cada caso, al bit de paridad se le asigna un


valor tal, que haga que el nmero de unos del
conjunto de bits que comprueba, sea par o impar,
de acuerdo a lo que especificado.
Sistemas Digitales

77

Cdigo HAMMING de Correccin de Errores


Ejemplo:
Determinar el cdigo de correccin de error para el
nmero de cdigo BCD 1001 (bits de informacin),
utilizando paridad par.
Solucin:
Paso 1. Encontrar el nmero de bits de paridad
requeridos. Sea p=3, entonces
2p = 23 = 8 y m + p + 1 = 8
tres bits de paridad son suficientes.
Bits totales del cdigo = 4 + 3 = 7

Sistemas Digitales

78

Cdigo HAMMING de Correccin de Errores

Paso 2. Construir una tabla de posiciones de los bits


para un cdigo de correccin de errores de 7
bits. Recuerde que el nmero es el BCD 1001
(bits de informacin)
Designacin de bit

P1

P2

M1

P3

M2

M3

M4

Posicin de bit

Nmero binario de posicin

001 010 011 100 101 110 111

Bits de informacin (Mn)

Bits de paridad (Pn)


BCD
Sistemas Digitales

1001
79

Cdigo HAMMING de Correccin de Errores


Paso 3. Determinar los bits de paridad de la siguiente
manera:
El bit P1 comprueba las posiciones 1, 3, 5 y 7
y tiene que ser 0 para que haya un nmero
par de unos (2) en este grupo.
El bit P2 comprueba las posiciones 2, 3, 6 y 7
y tiene que ser 0 para que haya un nmero
par de unos (2) en este grupo.
El bit P3 comprueba las posiciones 4, 5, 6 y 7
y tiene que ser 1 para que haya un nmero
par de unos (2) en este grupo.

Sistemas Digitales

80

Cdigo HAMMING de Correccin de Errores

Paso 4. Estos bits se introducen en la tabla.


Designacin de bit

P1

P2

M1

P3

M2

M3

M4

Posicin de bit

Nmero binario de posicin

001 010 011 100 101 110 111

Bits de informacin (Mn)


Bits de paridad (Pn)

1
0

El cdigo combinado resultante es 0011001

Sistemas Digitales

81

Cdigo HAMMING de Correccin de Errores


Deteccin y correccin de un error
Ahora que ya se tiene un mtodo
cdigo de errores, Cmo se puede
error?

de construccin de un
aplicar para localizar el

1. Cada bit de paridad, junto con su correspondiente grupo de


bits, tiene que ser comprobado con la paridad adecuada.
2. Si hay tres bits de paridad en una palabra de cdigo,
entonces hay que realizar tres comprobaciones de paridad.
3. Cada comprobacin de paridad nos dar un resultado
correcto o incorrecto.
4. El resultado total de las comprobaciones de paridad indican
el bit, si es que lo hay, que es errneo.

Sistemas Digitales

82

Cdigo HAMMING de Correccin de Errores


Los pasos a seguir son entonces los siguientes:
Paso 1.

Comenzar con el grupo que comprueba P1.

Paso 2.

Comprobar que el grupo tenga la paridad adecuada.


Un 0 representa que la comprobacin de paridad es
correcta y un 1 representa una mala comprobacin.

Paso 3.

Repetir el paso 2 para cada grupo de paridad.

Paso 4.

El nmero binario formado a partir de los resultados


de todas las comprobaciones de paridad determina la
posicin del bit de cdigo que contiene un error. Este
es el cdigo de posicin de error. La primera
comprobacin de paridad genera el bit menos
significativo. Si todas las comprobaciones son
correctas, no hay error.

Sistemas Digitales

83

Cdigo HAMMING de Correccin de Errores


Ejemplo :
Suponer que la palabra de cdigo del ejemplo anterior
(0011001) es transmitida y que recibimos 0010001. El receptor
no conoce cul fue la palabra transmitida y tiene que buscar
las paridades adecuadas para determinar si el cdigo es
correcto. Encontrar cualquier error que haya habido en la
transmisin si utilizamos paridad par.
Solucin :
Construimos una tabla de posicin de bit:
Designacin de bit

P1

P2

M1

P3

M2

M3

M4

Posicin de bit

Nmero binario de posicin


Cdigo recibido
Sistemas Digitales

001 010 011 100 101 110 111

1
84

Cdigo HAMMING de Correccin de Errores


Primera comprobacin de paridad:
El bit P1 comprueba las posiciones 1, 3, 5 y 7.
Hay dos unos en este grupo
Comprobacin de paridad correcta

0 (LSB)

Segunda comprobacin de paridad:


El bit P2 comprueba las posiciones 2, 3, 6 y 7.
Hay dos unos en este grupo
Comprobacin de paridad correcta

Tercera comprobacin de paridad:


El bit P3 comprueba las posiciones 4, 5, 6 y 7.
Hay un uno en este grupo
Comprobacin de paridad incorrecta
Sistemas Digitales

1 (MSB)
85

Cdigo HAMMING de Correccin de Errores

Resultado:
El cdigo de posicin de error es 100 (cuatro
binario).
Esto indica que el bit de la posicin 4 es errneo, y
que es un 0 cuando debera ser un 1.
El cdigo corregido es 0011001, que concuerda con
el cdigo transmitido.

Sistemas Digitales

86

Potrebbero piacerti anche