Está en la página 1de 86

SISTEMAS NUMERICOS

2007

Sistemas Digitales 1
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, A,B,C,D,E,F
conmutatividad y asociatividad
se usan en todos los sistemas

Sistemas Digitales 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: (1001.11)2
.= punto decimal (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 3
NOTACION POLINOMIAL

n 1
N= a r
i = m
i
i

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 4
Decimal Binario Octal Hexadecimal
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
Sistemas 5 101 5 5
6 110 6 6
de
7 111 7 7
uso comn 8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F

Sistemas Digitales 5
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 6
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 7
Conversin de un sistema de Base 10 a Base r
Ejemplos de nmeros enteros :
Utilizando divisiones sucesivas por la Base
msb = bit ms significativo
(13)10 = (1101)2 (234)10 = (EA)16

13 : 2 234 :16

1 6 :2 10 14 :16

0 3 :2 A 14 0

1 1 :2 E

1 0
msb
msb
Sistemas Digitales 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 msb
entero entero
0.125 X2 0 25 X 16 4
0.250 X2 0 00 X 16 0
0.500 X2 1

1101.0012 EA.4016

Sistemas Digitales 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 8 18 1
18 8 2 2
2 8 0 2

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 8 5.12 5
0.12 8 0.96 0
0.96 8 7.68 7
0.68 8 5.44 5
0.44 8 3.52 3
0.52 8 4.16 4
aproximacin

Sistemas Digitales 11
Conversin entre Base Binaria y Hexadecimal

Base Binaria a Base Hexadecimal

( 1100 0011 1111 . 1101 )2 = ( C3F.D )16

C 3 F D

( 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
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001

Sistemas Digitales 15
BCD : Binary Coded Decimal

Ejemplo:
4 0 9 6
( 4096 )10 = 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 1 1 1 1 1

1 1 1 1 0 1

+ 0 1 0 1 1 1

1 0 1 0 1 0 0

SUMA
Sistemas Digitales 18
ARITMETICA BINARIA ( SUMA )

Ejemplo :

1 1 1

1 0 0 1 0 1

+ 0 1 0 1 1 1

1 1 1 1 0 0

Sistemas Digitales 19
ARITMETICA BINARIA ( SUMA )

Ejemplo :

10 10 10 10 1 10 Acarreos

1 0 1 1 0 1

1 1 0 1 0 1

0 0 1 1 0 1

+ 0 1 0 0 0 1

1 0 0 0 0 0 0 0 Suma

Sistemas Digitales 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 5 4 3 2 1 0 Columnas

1 10 Prestamos

0 10 10 0 0 10 Prestamos

1 0 0 1 1 0 1 Minuendo

- 1 0 1 1 1 Sustraendo

1 1 0 1 1 0 Diferencia

Sistemas Digitales 22
ARITMETICA BINARIA ( RESTA )

Ejemplo : Restar 111012 - 101112

4 3 2 1 0 Columnas

1 1 1 0 1 Minuendo

- 1+0=1 0+1=1 1+1=0 1+0=1 1 Sustraendo

1 0 1 1 0 Diferencia

Sistemas Digitales 23
ARITMETICA BINARIA ( MULTIPLICACION)

Ejemplo: Multiplicar 101112 por 10102

1 0 1 1 1 Multiplicando
X 1 0 1 0 Multiplicador
0 0 0 0 0
1 0 1 1 1
0 0 0 0 0
+ 1 0 1 1 1
1 1 1 0 0 1 1 0 Producto

Sistemas Digitales 24
ARITMETICA BINARIA (MULTIPLICACION)

Ejemplo: Multiplicar 101112 por 10102


1 0 1 1 1 Multiplicando
X 1 0 1 0 Multiplicador
0 0 0 0 0 Producto 1
+ 1 0 1 1 1 Producto 2
1 0 1 1 1 0 Acumulativo 1
+ 0 0 0 0 0 Producto 3
0 1 0 1 1 1 0 Acumulativo 2
+ 1 0 1 1 1 Producto 4
1 1 1 0 0 1 1 0 Producto

Sistemas Digitales 25
ARITMETICA BINARIA (DIVISION)

Ejemplo: Dividir 11101112 entre 10012

1 1 0 1 Cuociente

Divisor 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 Residuo

Sistemas Digitales 26
ARITMETICA OCTAL (SUMA y RESTA)
Ejemplo: Sumar 41638 + 75208
1 1 Acarreos
4 1 6 3 Sumando
+ 7 5 2 0 Sumando
1 3 7 0 3 Suma

Ejemplo: Sustraer 51738 de 62048


1 10 Prestado
6 2 0 4 Minuendo
- 5 1 7 3 Sustraendo
1 0 1 1 Diferencia

Sistemas Digitales 27
ARITMETICA OCTAL (Multiplicacin)

Ejemplo: Multiplicar 41678 x 25038

4 1 6 7 Multiplicando

x 2 5 0 3 Multiplicador

1 4 5 4 5 Productos Parciales

2 5 1 2 3 0
+ 1 0 3 5 6
1 3 1 0 5 0 4 5 Producto

Sistemas Digitales 28
ARITMETICA OCTAL (Divisin)

Ejemplo: Dividir 41638 : 258

1 4 7 Cuociente
Divisor 2 5 4 1 6 3 Dividendo
- 2 5
1 4 6
- 1 2 4
2 2 3
- 2 2 3
0 Residuo

Sistemas Digitales 29
ARITMETICA HEXADECIMAL ( Suma)

Ejemplo: Sumar 2A5816 + 71D016

1 Acarreos
2 A 5 8 Sumando
+ 7 1 D 0 Sumando
9 C 2 8 Suma

Sistemas Digitales 30
ARITMETICA HEXADECIMAL ( Resta)

Ejemplo: Sustraer 4A3616 de 9F1B16

E 11 Prestamos
9 F 1 B Minuendo

- 4 A 3 6 Sustraendo
5 4 E 5 Diferencia

Sistemas Digitales 31
ARITMETICA HEXADECIMAL (Multiplicacin)

Ejemplo: Multiplicar 5C2A16 X 71D016

5 C 2 A Multiplicando

X 7 1 D 0 Multiplicador

4 A E 2 2 0 Productos
Parciales
5 C 2 A

+ 2 8 5 2 6

2 8 F 9 6 C 2 0 Producto

Sistemas Digitales 32
ARITMETICA HEXADECIMAL (Divisin)

Ejemplo: Dividir 27FCA16 : 3E16

A 5 1 Cuociente
Divisor 3 E 2 7 F C A Dividendo
2 6 C
1 3 C
1 3 6
6 A
3 E
2 C Residuo

Sistemas Digitales 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

+2710=0,11011
Bit de
Separador
Signo 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 1 0 0 1 1 Bits de
acarreo
0, 1 0 0 0 1 + 1710

+ 1, 1 0 0 1 1 - 1210

0, 0 0 1 0 0 + 410

+ 1

0, 0 0 1 0 1 + 510

Sistemas Digitales 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

1 1

0, 0 0 0 1 1 1 1 +15
+ 1, 1 1 1 1 0 1 0 -6 Compl. 2

0, 0 0 0 1 0 0 1 +9

Sistemas Digitales 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, 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 -8

Sistemas Digitales 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 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 -14

Sistemas Digitales 43
ARITMETICA BINARIA DE NUMEROS CON SIGNO
LA RESTA

N1 MINUENDO

- N2 SUSTRAENDO
+N3 DIFERENCIA

Sistemas Digitales 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, 1 0 0 1 +9
- 0, 0 1 0 0 +4
+5

1 1

0, 1 0 0 1 +9
- 1, 1 1 0 0 +4 C. 2s
0, 0 1 0 1 +5

Sistemas Digitales 47
ARITMETICA BINARIA DE NUMEROS CON SIGNO
LA RESTA
Ejemplos :

0, 1 0 0 1 +9
- 1, 0 1 0 0 -4
+13

0 0

0, 1 0 0 1 +9
- 0, 0 1 0 0 -4 C. signo
0, 1 1 0 1 +13

Sistemas Digitales 48
ARITMETICA BINARIA DE NUMEROS CON SIGNO
LA RESTA
Ejemplos :

1, 1 0 0 1 -9
- 0, 0 1 0 0 +4
-13

1 1

1, 0 1 1 1 -9 C. 2s
- 1, 1 1 0 0
+4 C. Signo
y 2s
1, 0 0 1 1 -13
Sistemas Digitales 49
ARITMETICA BINARIA DE NUMEROS CON SIGNO
LA RESTA
Ejemplos :

1, 1 0 0 1 -9
- 1, 0 1 0 0 -4
-5

0 0

1, 0 1 1 1 -9 C. 2s

- 0, 0 1 0 0 -4 C. Signo
1, 1 0 1 1 -5

Sistemas Digitales 50
ARITMETICA BINARIA DE NUMEROS CON SIGNO
LA RESTA
Ejemplos :

0, 0 1 0 0 +4
- 1, 0 1 0 0 -4
+8

0 0

0, 0 1 0 0 +4
- 0, 0 1 0 0 -4 C. Signo
0, 1 0 0 0 +8

Sistemas Digitales 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 y
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 9
+ 0 1 0 0 + 4
1 1 0 1 BCD no vlido > 9 13
+ 0 1 1 0 Se Suma 6

0 0 0 1 0 0 1 1 BCD vlido

1 3

Sistemas Digitales 54
ARITMETICA DE NUMEROS EN CODIGO BCD
LA SUMA

1 0 0 1 9
+ 1 0 0 1 + 9
1 0 0 1 0 No vlido por acarreo 18
+ 0 1 1 0 Se Suma 6

0 0 0 1 1 0 0 0 BCD vlido

1 8

Sistemas Digitales 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
BCD no vlido > 9
0 0 1 0 1 0 1 1 31
BCD vlido
+ acarreo 1 + 0 1 1 0 Se Suma 6

0 0 1 1 0 0 0 1 BCDs vlidos

3 1

Sistemas Digitales 56
ARITMETICA DE NUMEROS EN CODIGO BCD
LA SUMA

0110 0111 67
+ 0101 0011 + 53
1011 1 0 1 0 BCDs no vlidos > 9 120
+ 1 0110 0110 Se Suma 6

0 001 0010 0000 BCDs Vlidos

1 2 0

Sistemas Digitales 57
ARITMETICA DE NUMEROS EN CODIGO BCD
LA RESTA

0100 0101 45
- 0011 0101 - 34
0001 0001 BCDs vlidos 11

1 1

Sistemas Digitales 58
ARITMETICA DE NUMEROS EN CODIGO BCD
LA RESTA

0010 1000 28
- 0001 1001 - 19
BCD no vlido
0000 1111 9
BCD vlido

- 0110 Resta 6

1001

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
0 0000 0000
1 0001 0001
2 0010 0011
3 0011 0010
4 0100 0110
5 0101 0111
6 0110 0101
7 0111 0100
8 1000 1100
9 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 cdigo Gray, el nmero binario


11000110.
2. Convertir a binario el cdigo Gray 10101111.

Solucin

1. Binario a cdigo Gray:

1 + 1 + 0 + 0 + 0 + 1 + 1 + 0

1 0 1 0 0 1 0 1

Observacin : no tener en cuenta el acarreo


Sistemas Digitales 62
CODIGO DIGITAL GRAY

2. Cdigo Gray a Binario:

1 0 1 0 1 1 1 1

1 1 0 0 1 0 1 0

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
0 0000 0011
1 0001 0100
2 0010 0101
3 0011 0110
4 0100 0111
5 0101 1000
6 0110 1001
7 0111 1010
8 1000 1011
9 1001 1100
Sistemas Digitales 64
CODIGO DIGITAL EXCESO 3
Ejemplo:
Convertir a cdigo exceso 3 el nmero decimal 430

4 3 0

+ 3 + 3 + 3

7 6 3

Exceso-3 0111 0110 0011

Sistemas Digitales 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:
Carcter Binario Hexadec.
P 1010000 5016
= 0111101 3D16

Sistemas Digitales 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 de dell
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 detectar un bit


errneo, sino tambin identifica el bit errneo de
forma que pueda ser corregido.
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 y 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 y 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 1 2 3 4 5 6 7
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 paridad P3,
comprobar las posiciones de bit 4, 5, 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 1 2 3 4 5 6 7
Nmero binario de posicin 001 010 011 100 101 110 111

Bits de informacin (Mn) 1 0 0 1


Bits de paridad (Pn)

BCD 1001
Sistemas Digitales 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 1 2 3 4 5 6 7
Nmero binario de posicin 001 010 011 100 101 110 111

Bits de informacin (Mn) 1 0 0 1


Bits de paridad (Pn) 0 0 1

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 de construccin de un


cdigo de errores, Cmo se puede aplicar para localizar el
error?
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 1 2 3 4 5 6 7
Nmero binario de posicin 001 010 011 100 101 110 111

Cdigo recibido 0 0 1 0 0 0 1

Sistemas Digitales 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 0
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 1 (MSB)

Sistemas Digitales 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

También podría gustarte