Sie sind auf Seite 1von 111

Sistemas Numricos, Aritmtica

Digital y Cdigos

UCR ECCI
CI-1204 Matemtica Discretas
Prof. M.Sc. Kryscia Daviana Ramrez Benavides

Sistemas Numricos

Los sistemas de numeracin son conjuntos de dgitos usados


para representar cantidades, as se tienen los sistemas de
numeracin
i decimal,
d i l binario,
bi i octal,
l hexadecimal,
h d i l romano, etc.
Los cuatro primeros se caracterizan por tener una base
(nmero de dgitos diferentes) mientras que el sistema romano
no posee base y resulta ms complicado su manejo tanto con
nmeros, as como en las operaciones bsicas.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

Sistemas Numricos (cont.)

Los sistemas de numeracin que poseen una base tienen la


caracterstica de cumplir con la notacin posicional, es decir,
la posicin de cada nmero le da un valor o peso.
peso
As el primer dgito de derecha a izquierda despus del punto
decimal, tiene un valor igual a b veces el valor del dgito, y as
ell dgito
d it tiene
ti
en la
l posicin
i i n un valor
l igual
i l a (bn)*A,
)*A donde:
d d

b = valor de la base del sistema.


n = posicin del dgito.
A = dgito.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

Sistema Decimal o Base 10

El sistema de numeracin decimal es el ms usado, tiene como


base el nmero 10; o sea, que posee 10 dgitos (o smbolos)
diferentes: 0,
0 1,
1 2,
2 3,
3 4,
4 5,
5 6,
6 7,
7 8,
8 9.
9
El sistema de numeracin decimal fue desarrollado por los
hindes, posteriormente lo introducen los rabes en Europa,
d d recibe
donde
ib ell nombre
b de
d sistema
it
de
d numeracin
i decimal
d i lo
arbigo.
Si se aplica la notacin posicional al sistema de numeracin
decimal entonces el dgito en la posicin n tiene el valor:
(10n)*A.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

Sistema Decimal o Base 10 (cont.)

Notacin posicional del sistema:

...10000 1000 100 10 1 0.1 0.01 0.001 0.0001...

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

Sistema Decimal o Base 10 (cont.)

Ejemplo:

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

Sistema Binario o Base 2

El sistema de numeracin ms simple que usa la notacin


posicional es el sistema de numeracin binario; como su
nombre lo indica,
indica usa solamente dos dgitos (0,1).
(0 1)
Si se aplica la notacin posicional al sistema de numeracin
binario entonces el dgito en la posicin n tiene el valor:
(2n)*A.
)*A
Por simplicidad y poseer nicamente dos dgitos diferentes,
este sistema se usa en computacin para el manejo de datos e
informacin.

A la representacin de un dgito binario se le llama bit (de la


contraccin binaryy digit)
g ) y al conjunto
j
de 8 bits se le llama
byte. Ejemplo: 110 contiene 3 bits, 1001 contiene 4 y 1
contiene
1 bit.
CI-1204 Matemtica Discretas

UCR-ECCI
Sistemas Numricos, Aritmtica Digital y Cdigos

Sistema Binario o Base 2 (cont.)

Notacin posicional del sistema:

...10000 1000 100 10 1 0.1 0.01 0.001 0.0001...

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

Sistema Binario o Base 2 (cont.)

Conversin de binario a decimal:

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

Sistema Binario o Base 2 (cont.)

Conversin de decimal a binario:

LSB

MSB
UCR-ECCI CI-1204 Matemtica Discretas
Sistemas Numricos, Aritmtica Digital y Cdigos

10

Sistema Octal o Base 8

El sistema de numeracin octal es tambin muy usado en la


computacin por tener una base que es potencia exacta de 2 o
de la numeracin binaria.
binaria
Esta caracterstica hace que la conversin a binario o viceversa
sea bastante simple.
El sistema octal usa 8 dgitos: 0,1,2,3,4,5,6,7; y tienen el
mismo valor que en el sistema de numeracin decimal.
Si se aplica
p
la notacin pposicional al sistema de numeracin
binario entonces el dgito en la posicin n tiene el valor:
(8n)*A.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

11

Sistema Octal o Base 8 (cont.)

Notacin posicional del sistema:

...10000 1000 100 10 1 0.1 0.01 0.001 0.0001...

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

12

Sistema Octal o Base 8 (cont.)

Conversin de octal a decimal:

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

13

Sistema Octal o Base 8 (cont.)

Conversin de decimal a octal:

LSB

MSB

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

14

Sistema Octal o Base 8 (cont.)

Conversin de binario a
octal:

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

Conversin de octal a
binario:

15

Sistema Hexadecimal o Base 16

Un gran problema con el sistema binario es la longitud para


representar los nmeros.
C
Como
l computadoras
las
t d
trabajan
t b j en sistema
it
binario
bi i y aunque
es posible hacer la conversin entre decimal y binario, ya
vimos que no es precisamente una tarea cmoda.
El sistema de numeracin hexadecimal, o sea de base 16,
resuelve este problema
El sistema hexadecimal es compacto
p
y nos pproporciona
p
un
mecanismo sencillo de conversin hacia el formato binario,
por lo que la mayora del equipo de cmputo actual utiliza el
ssistema
s e numrico
u co hexadecimal.
e dec
.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

16

Sistema Hexadecimal o Base 16 (cont.)

El sistema hexadecimal usa 16 dgitos:


0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.
Si se aplica
li la
l notacin
t i posicional
i i l all sistema
it
de
d numeracin
i
binario entonces el dgito en la posicin n tiene el valor:
(16n)*A.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

17

Sistema Hexadecimal o Base 16 (cont.)

Notacin posicional del sistema:

...10000 1000 100 10 1 0.1 0.01 0.001 0.0001...

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

18

Sistema Hexadecimal o Base 16 (cont.)

Conversin de hexadecimal a decimal:

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

19

Sistema Hexadecimal o Base 16 (cont.)

Conversin de decimal a hexadecimal:

LSB

MSB

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

20

Sistema Hexadecimal o Base 16 (cont.)

Conversin de binario a
hexadecimal:

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

Conversin de hexadecimal
a binario:

21

Sistemas Numricos
Base 10

Base 2

0
0
1
1
2
10
3
11
4
100
5
101
6
110
7
111
8
1000
9
1001
10
1010
11
1011
12
1100
13
1101
14
1110
UCR-ECCI CI-1204 Matemtica Discretas
15
1111
Sistemas Numricos, Aritmtica Digital y Cdigos

Base 8

Base 16
0
1
2
3
4
5
6
7
10
11
12
13
14
15
16
17

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F

22

Mtodos de Conversin
Conversin

Mtodo

Ejemplo

Binario a
O l
Octal

S i i
Sustitucin

1100110012 = 110 011 0012 = 6318

Hexadecimal

Sustitucin

1100110012 = 1 1001 10012 = 19916

Decimal

Suma

1100110012 =
1*256+1*128+0*64+0*32+1*16+1*8+0*4+0*2+1*1 40910
1*256+1*128+0*64+0*32+1*16+1*8+0*4+0*2+1*1=

Octal a
Binario

Sustitucin

12348 = 001 010 011 1002 = 10100111002

Hexadecimal

Sustitucin

12348 = 001 010 011 1002 = 10 1001 11002 = 29C16

Decimal

Suma

12348 = 1*512+2*64+3*8+4*1 = 66810

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

23

Mtodos de Conversin (cont.)


Conversin

Mtodo

Ejemplo

Hexadecimal a
Bi i
Binario

S i i
Sustitucin

C0E16 = 1100 0000 11102 = 1100000011102

Octal

Sustitucin

C0E16 = 1100 0000 11102 = 110 000 001 1102 = 60168

Decimal

Suma

C0E16 = 12*256+0*16+14*1 = 308610

Decimal a
Binario

DivisinMultiplicacin

10810 = 11011002

Octal

DivisinMultiplicacin

10810 = 1548

Hexadecimal

DivisinMultiplicacin

10810 = 6C16

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

24

Operaciones Bsicas en Binario


1

0 12

+ 1
1 0

0
1

1
0

1
1

.
.

1
0

1 02
1 12

1
1

1+

1+

1+

0
0

1
0

1
1

0
1

1
0

. 1 0 12
. 12

0
0
1

1
0
0
0

0 0
0 0
1 1
0 0
0.

1
0
0
0

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

1
0
1
0

1
1

1 12

.
.

1
1

1 02
0 12

0 1
0 0 12
25

Operaciones Bsicas en Binario (cont.)


1

1 1 0' 0' 0.' 0' 0' 0' 12' 1 0. 12


1+
1 0 0 1.
1 1 0 12
- 1 0 11 1 1
0 0 1 0 0 0
1 1+ 1+

- 1 0 11
0 0 1 1 0
1+

- 1 0 1
0 0 1 0 1
- 1 0 1
0 0 0
UCR-ECCI CI-1204 Matemtica Discretas
Sistemas Numricos, Aritmtica Digital y Cdigos

26

Operaciones Bsicas en Octal


1

3 2 6 . 0 58

1 2 4 2 . 3 08
1

+ 7 1 4 . 2 38
1 2 4 2 . 3 08

1+

1+

- 7 1 4 . 2 38
0 3 2 6 . 0 58
1 3/2 1/1

2/1

7 1 4 . 2 38
5 68

1 1

5 3 1 1 6 2
4 3 7 5 3 7 5 1 2 6 5. 5 28
UCR-ECCI CI-1204 Matemtica Discretas
Sistemas Numricos, Aritmtica Digital y Cdigos

27

Operaciones Bsicas en Octal (cont.)


5 1 2' 6' 5.' 5' 28' 5 68
- 5 0 2
7 1 4. 2 38
0 1 10 6
1

- 5 6
0 3 10 5
1+

- 2 7 0
0 1 5 5
- 1 3 4
0 2 1 2
- 2 1 2
0 0 0
UCR-ECCI CI-1204 Matemtica Discretas
Sistemas Numricos, Aritmtica Digital y Cdigos

28

Operaciones Bsicas en Hexadecimal


1

A 4 2

. C E16

1 2 F 4 . A 516
1

+ 8 B 1
1 2 F 4

. D 716
. A 516

1+

1+

- 8 B 1 . D 716
0 A 4 2 . C E16
2

A 4 2

C E16
1 B16

7 0 D E D A
A 4 2 C E 1 1 5 0 B. B A16
UCR-ECCI CI-1204 Matemtica Discretas
Sistemas Numricos, Aritmtica Digital y Cdigos

29

Operaciones Bsicas en Hexadecimal (cont.)


1

1 1 5' 0' B.' B A16 1 B16


1+
A 4 2. C E16
1 0 E 1
0 0 7 0
1+

6 C
0 4 B
- 3 6
1 5
- 1 4
0 1
- 1
0

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

B
4
7 A
7 A
0 0
30

Acumulador

Un acumulador es un dispositivo que posee n casillas para


guardar en cada una un dgito en base b.
Posee un mecanismo para avanzar y retroceder a la posicin
siguiente.

Ejemplos:

Contador de cinta de una grabadora.


Contador de gasolina en una estacin de servicio.
Contador de kilmetros de un vehculo.

Existe dos tipos de acumuladores:

Acumulador abierto
abierto.
Acumulador cerrado.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

31

Acumulador Abierto

Cuando se alcanza el dgito maximal en base b el prximo


incremento en esa casilla vuelve el dgito a 0 y hace avanzar
una posicin
i i la
l casilla
ill a su izquierda
i i d (se
( produce
d
una unidad
id d
de llevar o carry (acarreo)).
Se conoce tambin por el nombre de complemento a la base
b y acumulador en mdulo bn.
Al haber n casillas, y cada una puede tener b dgitos
dif
diferentes,
hay
h bn posibles
ibl combinaciones
bi i
de
d dgitos
d i o
nmeros diferentes que se pueden representar en el
acumulador.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

32

Acumulador Abierto (cont.)

Se llama abierto porque al ocurrir el acarreo ms all de la


posicin del dgito ms significativo (MSB), tal unidad se
pierde
i d y ell acumulador
l d regresa a 0 en todos
d sus dgitos.
d i
De igual manera, si el acumulador est en 0, y ocurrir un
retroceso, el acumulador presenta todos sus dgitos
maximales.
Se asocia a avanzar una vuelta con la operacin sumar, y a
retroceder
d una vuelta
l a la
l operacin
i restar.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

33

Acumulador Abierto (cont.)

El acumulador puede representar nmeros sin signo en el


rango [0,bn 1].

Base b = 10 y n = 3 posiciones [0,999]

000 999 representan los valores 0 999.

Base b = 2 y n = 3 posiciones [0,7]

000 111 representan los valores 0 7.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

34

Acumulador Abierto (cont.)

Tambin, puede representar nmeros con signo en el rango


[-(bn/2),+(bn/2 1)]. Existirn bn combinaciones de nmeros,
l cuales
los
l la
l mitad
i d sern
valores
l
positivos
ii
y la
l otra mitad
i d
valores negativos.

Base b = 10 y n = 3 pposiciones [[-500,499]


,
]

000 499 representan los valores 0 499.


500 999 representan los valores -500 -1

B
Base
b = 2 y n = 3 posiciones
i i
[-4,3]
[ 4 3]

000 011 representan los valores 0 3.


100 111 representan los valores -4 -1

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

35

Acumulador Abierto (cont.)

Si se observa la relacin entre el valor fsico y el matemtico,


se ve que siempre hay una distancia de bn.

Dos nmeros a y b son congruentes mdulo m, sii a b = km,


para algn entero k, y se escribe a b (mod m).

Ejemplo:

Base b = 10 y n = 3 posiciones [-500,499]

708 -292 mod 1000 708 + 292 = 1000 = 1000k k = 1.

Entonces 708 representa en realidad a -292.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

36

Aritmtica en Acumulador Abierto

Se debe recordar que al ocurrir un acarreo ms all de la


posicin del MSB, tal unidad se pierde.
Cuando se trabaja sin signo, ocurre un desborde (overflow)
cuando el resultado sobrepasa el lmite establecido.
Ejemplo:

Base b = 10 y n = 3 posiciones [0,999]


1

3 4 9
+ 8 2 5
1 1 7 4 Desborde

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

1 5 4
+ 8 2 6
0 9 8 0

37

Aritmtica en Acumulador Abierto (cont.)

Cuando se trabaja con signo, la nica manera de ocurrir un


desborde (overflow) es que se sumen dos cantidades del
mismo
i
signo
i
que sobrepasen
b
ell lmite.
l i
Ejemplo:

Base b = 10 y n = 3 posiciones [-500,499]


[-500 499]
1
1

1 0 0 0
1 1 1
- 8 2 5
0 1 7 5

825 -175

3 4 9
+ 2 2 5
5 Matemtica
7 4 Discretas
Desborde
CI-1204

UCR-ECCI
Sistemas Numricos, Aritmtica Digital y Cdigos

3 4 9
+ 8 2 5
1 1 7 4

3 14 9
- 11 7 5
1 7 4

5 1 0
+ 6 9 2
1 2 0 2 Desborde
38

Acumulador Cerrado

Se conoce tambin por el nombre de complemento a la base


disminuida b1 y acumulador en mdulo bn1.
Se llama cerrado porque al ocurrir el acarreo ms all de la
posicin del dgito ms significativo (MSB), tal unidad se
suma al resultado.
Al haber n casillas, y cada una puede tener b dgitos
diferentes, hay bn posibles combinaciones de dgitos fsicos o
nmeros diferentes,
dif
y bn1 posibles
ibl valores
l
matemticos
i
diferentes, lo que implica que algn valor matemtico tiene 2
p
representaciones.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

39

Acumulador Cerrado (cont.)

El acumulador puede representar nmeros sin signo en el


rango [0,bn 1].

Base b = 10 y n = 3 posiciones [0,999]

000 999 representan los valores 0 998 con dos ceros: +0 = 000
y -0 = 999.

Base b = 2 y n = 3 posiciones [0,7]

000 111 representan los valores 0 6 con dos ceros: +0 = 000


(0) y -0
0 = 111 (7)
(7).

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

40

Acumulador Cerrado (cont.)

Tambin, puede representar nmeros con signo en el rango


[-(bn/2 1),+(bn/2 1)]. Existirn bn combinaciones de
nmeros,

l cuales
los
l la
l mitad
i d sern
valores
l
positivos
ii
y la
l otra
mitad valores negativos.

Base b = 10 y n = 3 pposiciones [[-499,499]


,
]

000 499 representan los valores +0 499.


500 999 representan los valores -499 -0

B
Base
b = 2 y n = 3 posiciones
i i
[-3,3]
[ 3 3]

000 011 representan los valores +0 3.


100 111 representan los valores -3 -0

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

41

Acumulador Cerrado (cont.)

Se observa que el valor matemtico hay siempre una distancia


de bn1.

Dos nmeros a y b son congruentes mdulo m, sii a b = km,


para algn entero k, y se escribe a b (mod m).

Ejemplo:

Base b = 10 y n = 3 posiciones [-499,499]

708 -291 mod 999 708 + 291 = 999 = 999k k = 1.

Entonces 708 representa en realidad a -291.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

42

Aritmtica en Acumulador Cerrado

Se debe recordar que al ocurrir un acarreo ms all de la


posicin del MSB, tal unidad se suma al resultado.
Cuando se trabaja sin signo, ocurre un desborde (overflow)
cuando el resultado sobrepasa el lmite establecido.
Ejemplo:

Base b = 10 y n = 3 posiciones [0,999]


1

3
+ 7
1 1
+
1

7 1
4 1
1 2
1
1 3 Desborde

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

2 5 4
+ 7 4 2
9 9 6

43

Aritmtica en Acumulador Cerrado (cont.)

Cuando se trabaja con signo, ocurre un desborde (overflow) al


igual que en el acumulador abierto.
Ejemplo:

Base b = 10 y n = 3 posiciones [-499,499]


-

9
8
1

9
2
7

9
5
4

825

-174
174

3
2
5

4
2
7

3
+ 8
1 1
+
1

4
2
7
7

9
5
4
1
5

3 14 9
- 11 7 4
1 7 5

9
5
4

Desborde

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

5
+ 6
1 2
+
2

1
9
0
0

0
2
2
1
3 Desborde

44

Representacin de Enteros Sin Signo

Para representar un nmero entero sin signo primero se pasa a


binario y luego se puede almacenar en:

Un byte = 8 bits.
Una palabra = 2 bytes.
Una doble palabra = 4 bytes
bytes.
Una palabra cudruple = 8 bytes.

Ejemplo:

20010 = 110010002 Se almacena en un byte


34510 = 1010110012 Se almacena en una palabra
6571210 = 100000000101100002 Se
S almacena
l
en una ddoble
bl
palabra

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

45

Representacin de Enteros Con Signo

Para representar un nmero entero con signo, se debe indicar


el signo ya sea por 0(+) 1(-).
Se han utilizado diferentes formas para distinguir entre
nmeros positivos y negativos, tres de estos mtodos son:

Signo y magnitud.
magnitud
Complemento a 1 = Complemento a la base disminuida.
Complemento a 2 = Complemento a la base.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

46

Representacin de Enteros Con Signo


Signo y Magnitud

Este es el mtodo ms simple.

El bit ms significativo (MSB), el de ms a la izquierda,


representa el signo: 0 para positivo y 1 para negativo.
El resto de los bits representan la magnitud.

Este mtodo contiene un nmero igual de enteros positivos y


negativos.

Un entero en signo y magnitud de n bits est en el rango


[-(2n-11),+(2n-11)], con dos posibles representaciones del
cero.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

47

Representacin de Enteros Con Signo


Signo y Magnitud (cont.)

Ejemplo:

En un byte se puede representar un rango: [-127,+127].


3110 puede ser almacenado en un byte, donde 1 bit es de signo
y 7 bits son la magnitud:
3110
0
Signo

=
0

111112
+31
0 1 1

Magnitud

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

1
Signo

-31
0 1 1

Magnitud

48

Representacin de Enteros Con Signo


Signo y Magnitud (cont.)

Para sumar se hace lo siguiente:

Si los nmeros tiene igual signo, se suman las magnitudes y se


pone el mismo bit de signo al resultado.
Si los nmeros tienen diferente signo, se comparan las
magnitudes,
g
, restar la ms ppequea
q
a la ms grande
g
y dar el
resultado el bit de signo de la ms grande.

Todos estos si, sumas, restas y comparaciones se


traducen en circuitos bastantes complejos.
complejos
Puede ocurrir desborde al sumar nmeros con el mismo signo
y resultado sobrepase
p
el rango
g establecido.
cuyo

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

49

Representacin de Enteros Con Signo


Signo y Magnitud (cont.)

Ejemplo:
1

+3 1
0 0 0 1 1 1 1 1
+ +8 5 + 0 1 0 1 0 1 0 1
+1 1 6
0 1 1 1 0 1 0 0
1

-3 1
1 0 0 1 1 1 1 1
+ -8 5 + 1 1 0 1 0 1 0 1
-1
1 1 6
1 1 1 1 0 1 0 0

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

+8 5
0 1 0 1 0 1 0 1
+ -3 1 - 1 1+01+01+11+11+1 1 1
+ 5 4
0 0 1 1 0 1 1 0
1

-8 5
1 1 0 1 0 1 0 1
+ +3 1 + 0 1+01+01+11+11+1 1 1
- 5 4
1 0 1 1 0 1 1 0

50

Representacin de Enteros Con Signo


Signo y Magnitud (cont.)
Ejemplo:

+1 2 7
+
+1 +
+1 2 8
-1
+
-1

2
2

7
-1 +
8

0
0
0
1
1
1

1
0
0

1
0
0

1
0
0

1
0
0

1
0
0

1
0
0

1
0
0

1
0
0

1
0
0

1
0
0

1
0
0

1
0
0

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

1
1
0

+0

Desborde

1
1
0

-0

Desborde

51

Representacin de Enteros Con Signo


Complemento

Mientras que los sistemas de signo y magnitud niegan un


nmero al cambiar su signo, el mtodo del complemento niega
un nmero

all tomar su complemento


l
definido
d fi id por ell sistema.
i
Obtener el complemento es un poco ms difcil que cambiar el
signo, pero los dos nmeros complementados pueden sumarse
o restarse directamente sin verificar el signo y la magnitud.

Es mucho ms simple y fcil.

Al igual que el de signo y magnitud, se trabaja con un nmero


fijo de dgitos.
Si un nmero D se complementa dos veces el resultado es D.
D

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

52

C
Complemento
l
t
Dgito

Binario

Octal

Decimal

Hexadecimal

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

53

Representacin de Enteros Con Signo


Complemento a la Base Disminuida

Esto se explic anteriormente, ya que es el acumulador


cerrado.
Rango: [-(bn/2 1),+(bn/2 1)].
El MSB es el bit que indica el signo: 0 para positivo y 1 para
negativo.
negativo
Hay dos representaciones del cero: +0 y -0.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

54

Representacin de Enteros Con Signo


Complemento a la Base Disminuida (cont.)

Para representar un nmero en forma de complemento a la


base disminuida se hace lo siguiente:

Verificar cul ser su tamao para representarlo y conocer la


cantidad mnima de dgitos necesarios.
Complementar
p
el nmero,, si es positivo
p
slo se hace la
conversin a la base con la que se est trabajando, y si es
negativo se hace mediante dos formas:

Restando el nmero a la base disminuida (bn1)


1) y realizando la
conversin del resultado a la base b.
Poniendo para cada dgito su dgito complemento (ver tabla de
complementos de dgitos).
dgitos)

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

55

Representacin de Enteros Con Signo


Complemento a la Base Disminuida (cont.)

Ejemplo:

Base 10 Complemento a 9.
Rango: [-49,+49].
3110 puede ser representado en 2 dgitos:
3110
+31 =

b
3

= 100
-31 =
((1))
-

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

b 1 = 99
b-1
6
9
3
6

8
9
1
8

((2)) 3

56

Representacin de Enteros Con Signo


Complemento a la Base Disminuida (cont.)

Ejemplo:

Base 2 Complemento a 1.
Rango: [-127,+127].
3110 puede ser representado en 8 dgitos:

3110
+31 =

100000000 b-1
b1 =

11111111
-31 =
(1)
-

1
1
0
1

1
1
0
1

1
1
0
1

0
1
1
0

0
1
1
0

0
1
1
0

0
1
1
0

0
1
1
0

(2)

0
1

0
1

0
1

1
0

1
0

1
0

1
0

1
0

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

57

Representacin de Enteros Con Signo


Complemento a la Base

Esto se explic anteriormente, ya que es el acumulador


abierto.
Rango: [-(bn/2),+(bn/2 1)].
El MSB es el bit que indica el signo: 0 para positivo y 1 para
negativo.
negativo
Hay una representacin del cero: +0.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

58

Representacin de Enteros Con Signo


Complemento a la Base (cont.)

Para representar un nmero en forma de complemento a la


base disminuida se hace lo siguiente:

Verificar cul ser su tamao para representarlo y conocer la


cantidad mnima de dgitos necesarios.
Complementar
p
el nmero,, si es positivo
p
slo se hace la
conversin a la base con la que se est trabajando, y si es
negativo se hace mediante dos formas:

Restando el nmero a la base (bn) y realizando la conversin del


resultado a la base b.
Poniendo para cada dgito su dgito complemento (ver tabla de
complementos de dgitos) y sumar 1 al resultado.
resultado

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

59

Representacin de Enteros Con Signo


Complemento a la Base (cont.)

Ejemplo:

Base 10 Complemento a 10.


Rango: [-50,+49].
3110 puede ser representado en 2 dgitos:
3110
+31 =

b
3

100
-31 =
((1)) 1
1
0

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

6 9
1
0 10
1+
3 1
6 9

((2)) 3

1 6
+
6

8
1
9

60

Representacin de Enteros Con Signo


Complemento a la Base (cont.)

Ejemplo:
Base 2 Complemento a 2.
Rango: [-128,+127].
3110 puede ser representado en 8 dgitos:

3110
+31 =

b
0

= 100000000
1 1 1 1 1

-31 =
(1) 1
1
0
(2)

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

1 1 1 0 0 0 0 0
1
0 10 10 10 10 10 10 10
1+
0 1+0 1+0 1+1 1+1 1+1 1+1 1
1 1 1 0 0 0 0 1

0
1
+
1

0
1

0
1

1
0

1
0

1
0

1
0

1
0
1
1

61

Tabla Resumen de las Reglas de Suma y Resta


para Nmeros Enteros Binarios
Sistema de
Nmeros
Sin signo

Reglas de Suma

Reglas de Negacin

Se suman los
N/A
nmeros.
El resultado est
fuera de rango
(desborde), si ocurre
un acarreo fuera del
MSB.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

Reglas de Resta
Se resta el
sustraendo del
minuendo.
El resultado est
fuera del rango
(desborde), si ocurre
un prstamo fuera
del MSB.

62

Tabla Resumen de las Reglas de Suma y Resta


para Nmeros Enteros Binarios
Sistema de
Nmeros
Signo y magnitud

Reglas de Suma

Reglas de Negacin

Igual signo. Se
Cambie el signo de
suman las
bit.
magnitudes; se da
un desborde si
ocurre un acarreo
fuera del MSB.
Diferente signo. Se
restan la magnitud
ms
pequea
a la
l
mayor; un desborde
es imposible; el
resultado tiene el
signo de la magnitud
mayor.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

Reglas de Resta
Cambie el bit de
signo del sustraendo
y proceda como una
suma.

63

Tabla Resumen de las Reglas de Suma y Resta


para Nmeros Enteros Binarios
Sistema de
Nmeros
Complemento a 2

Reglas de Suma

Reglas de Negacin

Reglas de Resta

Se suma e ignora
cualquier acarreo
fuera del MSB.
El desborde ocurre
si los acarreos
entrante y saliente al
MSB son diferentes.

Se complementan
todos los bits del
sustraendo; se suma
1 al resultado.

Se complementan
todos los bits del
sustraendo, se suma
1 al resultado; y se
procede como en la
suma.

Complementos a 1 Se suma y si hay un Se complementan


acarreo fuera del
todos los bits del
MSB, se suma 1 al
sustraendo.
resultado.
El desborde ocurre
si los acarreos
entranteDiscretas
y saliente al
UCR-ECCI CI-1204 Matemtica
Sistemas Numricos, Aritmtica
y Cdigos
MSBDigital
son diferentes.

Se complementan
todos los bits del
sustraendo y se
procede como en la
suma
suma.

64

Cdigos Binarios de Nmeros Decimales

Los nmeros binarios son los ms apropiados para los


clculos internos en un sistema digital, pero la mayora de la
gente todava
d prefiere
fi trabajar
b j con los
l nmeros

decimales.
d i l
Como resultado, las interfaces externas de un sistema digital
pueden leer o exhibir nmeros decimales.
Un conjunto de cadenas de n bits en que las diferentes cadenas
de bits representan diferentes nmeros u otras cosas se llama
cdigo.

Una combinacin particular de valores de n bits se llama


palabra del cdigo.
cdigo

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

65

Cdigos Binarios de Nmeros Decimales (cont.)

Puede que en un cdigo haya o no una relacin aritmtica


entre los valores de los bits en una palabra de cdigo y lo que
representan.
Adems, un cdigo que usa cadenas de n bits no necesita
contener 2n palabras de cdigo.
Al menos se necesitan 4 bits para representar los diez dgitos
decimales.

Hay muchas maneras diferentes para elegir las 10 palabras


cdigo de 4 bits, los ms comunes se muestran en la siguiente
tabla.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

66

Cdigos Binarios de Nmeros Decimales (cont.)


Dgito
Decimal

BCD (8421)

Aiken
(2421)

Exceso 3

Biquinario

1 de 10

0000

0000

0011

0100001

1000000000

0001

0001

0100

0100010

0100000000

0010

0010

0101

0100100

0010000000

0011

0011

0110

0101000

0001000000

0100

0100

0111

0110000

0000100000

0101

1011

1000

1000001

0000010000

0110

1100

1001

1000010

0000001000

0111

1101

1010

1000100

0000000100

1000

1110

1011

1001000

0000000010

1001

1111

1100

1010000

0000000001

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

67

Cdigos Binarios de Nmeros Decimales (cont.)


Palabras de cdigo no usadas
BCD (8421)

Aiken
(2421)

Exceso 3

Biquinario

1 de 10

1010

0101

0000

0000000

0000000000

1011

0110

0001

0000001

0000000011

1100

0111

0010

0000010

0000000101

1101

1000

1101

0000011

0000000110

1110

1001

1110

0000101

0000000111

1111

1010

1111

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

68

Cdigos Binarios de Nmeros Decimales


Cdigo BCD

El cdigo decimal ms natural es el BCD (binary-coded


decimal), que codifica los dgitos 0 a 9 por sus
representaciones
i
binarias
bi i sin
i signo
i
en 4 bits,
bi del
d l 0000 all 1001.
1001
En un byte caben dos dgitos en BDC.
Los cdigos BCD ms usados son:

Natural (8421).
Aiken (2421).
5421.
Exceso 3.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

69

Cdigos Binarios de Nmeros Decimales


Cdigo BCD (cont.)

En el BCD slo se utilizan 10 de las 16 posibles


combinaciones que se pueden formar con nmeros de 4 bits,
por lo
l que ell sistema
i
pierde
i d capacidad
id d de
d representacin,
i
aunque se facilita la compresin de los nmeros.

El BCD solo se usa ppara representar


p
cifras no nmeros en su
totalidad.
Esto quiere decir que para nmeros de ms de una cifra hacen
falta dos nmeros BCD para componerlo.
componerlo

Los pesos para los bits BDC son 8, 4, 2 y 1, por esta razn se
le llama cdigo 8421.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

70

Cdigos Binarios de Nmeros Decimales


Cdigo BCD (cont.)

Desde que los sistemas informticos empezaron a almacenar


los datos en conjuntos de ocho bits, hay dos maneras comunes
d almacenar
de
l
los
l datos
d
BCD:
BCD

Omisin de los cuatro bits ms significativos(como sucede en


el EBCDIC).
)
Almacenamiento de dos datos BCD, es el denominado BCD
"empaquetado", en el que tambin se incluye en primer lugar
el signo,
signo por lo general con 1100 para el + y 1101 para el -.

De este modo, el nmero 127 sera representado como


(11110001, 11110010, 11110111) en el EBCDIC o
(00010010, 01111100) en el BCD empaquetado

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

71

Cdigos Binarios de Nmeros Decimales


Cdigo BCD (cont.)

El BCD sigue siendo ampliamente utilizado para almacenar


datos, en aritmtica binaria o en electrnica. Los nmeros se
pueden
d mostrar fcilmente
f il
en visualizadores
i li d
de
d siete
i
segmentos enviando cada cuarteto BCD a un visualizador.
La BIOS de un ordenador personal almacena generalmente la
fecha y la hora en formato del BCD, probablemente por
razones histricas se evit la necesidad de su conversin en
ASCII.
ASCII

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

72

Cdigos Binarios de Nmeros Decimales


Cdigo BCD (cont.)

La ventaja del cdigo BCD frente a la representacin binaria


clsica es que no hay lmite para el tamao de un nmero.
Los nmeros que se representan en formato binario estn
generalmente limitados por el nmero mayor que se pueda
representar con 8, 16, 32 o 64 bits.
Por el contrario utilizando BCD aadir un nuevo dgito slo
implica aadir una nueva secuencia de 4 bits.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

73

Cdigos Binarios de Nmeros Decimales


Cdigo BCD (cont.)

La suma de dgitos BCD es similar a la suma de nmeros


binarios sin signo, excepto que se debe hacerse una correccin
sii ell resultado
l d excede
d 1001.
1001

El resultado se corrige sumndole 6.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

74

Cdigos Binarios de Nmeros Decimales


Cdigo BCD (cont.)

Otro conjunto de pesos resulta el cdigo 2421, que es un


cdigo autocomplementario; o sea, la palabra cdigo para el
complemento
l
a 9 de
d cualquier
l i dgito
d i puede
d obtenerse
b
all
complementar los bits individuales de la palabra cdigo del
g
dgito.
El cdigo de exceso 3 es otro cdigo autocomplementario,
tiene una relacin aritmtica con el BDC; ya que la palabra
cdigo para cada dgito decimal es la correspondiente a la de
BCD ms 0011 (+3).

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

75

Cdigos Binarios de Nmeros Decimales


Cdigo BCD (cont.)

Los cdigos decimales pueden tener ms de 4 bits, como el


cdigo biquinario que usa 7 bits.

Los primeros dos bits en una palabra cdigo indican si el


nmero est en el rango 0-4 o 5-9 y los ltimos 5 bits indican
cul de los cinco nmeros del rango seleccionado est
representado.

El cdigo 1 de 10 es la codificacin menos densa para los


dgitos decimales,
decimales usando slo 10 palabras de cdigo de las
1024 posibles.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

76

Cdigos Binarios de Nmeros Decimales


Cdigo BCD (cont.)

El trmino biquinario se refiere a que el cdigo tiene una


parte de dos estados (bi) y otra de cinco estados (quin).
Existen varias representaciones de un decimal codificado en
biquinario, ya que:

El componente de dos estados se puede representar tanto con


uno como con dos bits.
El componente de cinco estados, tanto con tres como con cinco
bits.
bit

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

77

Cdigo Gray

Este es un cdigo binario no ponderado y tiene la propiedad


de que los cdigos para dgitos decimales sucesivos difiere en
un slo
l bit,
bi all cdigo
di Gray
G
tambin
bi se le
l llama
ll
autorreflejado
fl j d
o cclico.

Es un caso pparticular de sistema binario.

Consiste en una ordenacin de 2n nmeros binarios de tal


forma que cada nmero slo tenga un dgito binario distinto a
su predecesor.
d
Este cdigo puede representar nmeros o cosas.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

78

Cdigo Gray (cont.)

Historia:

Esta tcnica de codificacin se origin cuando los circuitos


lgicos digitales se realizaban con vlvulas de vaco y
dispositivos electromecnicos.
Los contadores necesitaban ppotencias muy
y elevadas a la
entrada y generaban picos de ruido cuando varios bits
cambiaban simultneamente.
El uso de cdigo Gray garantiz que en cualquier transicin
variara tan slo un bit.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

79

Cdigo Gray (cont.)

El primer uso documentado de un cdigo de estas


caractersticas fue en una demostracin del telgrafo del
i
ingeniero
i
francs
f
mile
il Baudot,
B d en 1878.
1878
Pero no fueron patentados hasta 1953 por Frank Gray (que dio
nombre al sistema de codificacin), un investigador de los
laboratorios Bell.
Hay varios algoritmos para generar una secuencia de cdigo
Gray (y
( varios
i cdigos
di
posibles
ibl resultantes,
l
en funcin
f i del
d l
orden que se desee seguir), pero el ms usado consiste en
g
qque ggenera un nuevo
cambiar el bit menos significativo
cdigo.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

80

Cdigo Gray (cont.)


Nmero Decimal

Cdigo Binario

Cdigo Gray

0000

0000

0001

0001

0010

0011

0011

0010

0100

0110

0101

0111

0110

0101

0111

0100

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

81

Cdigo Gray (cont.)


Nmero Decimal

Cdigo Binario

Cdigo Gray

1000

1100

1001

1101

10

1010

1111

11

1011

1110

12

1100

1010

13

1101

1011

14

1110

1001

15

1111

1000

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

82

Cdigo Gray (cont.)

Para convertir de Binario a Gray puede seguirse el siguiente


procedimiento:

El MSB se deja igual.


Avanzando de MSB a LSB se suma cada bit con el siguiente
despreciando
p
el acarreo para
p obtener el siguiente
g
bit del cdigo
g
Gray.

Ejemplo: Pasar el nmero decimal 45 a cdigo Gray.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

83

Cdigo Gray (cont.)

Para convertir de Gray a Binario puede seguirse el siguiente


procedimiento:

El MSB se deja igual.


Avanzando de MSB a LSB a cada bit obtenido en binario se le
suma sin acarreo el siguiente
g
bit de cdigo
g Gray.
y

Ejemplo: Obtener el equivalente decimal del siguiente cdigo


gray 011011gray.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

84

Cdigos de Caracteres o Alfanumricos

Muchas aplicaciones de sistemas digitales (especialmente las


computadoras o la transmisin de textos) requieren del
procesamiento
i
de
d datos
d
los
l como nmeros,

letras
l
y smbolos
b l
especiales.
Para manejar estos datos usando dispositivos digitales, cada
smbolo debe estar representado por un cdigo binario.
El cdigo alfanumrico ms generalizado en la actualidad es el
d
denominado
i d ASCII (American
(
Standard
d d Code
d ffor Information
f
Interchange). Este es un cdigo de 7 bits.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

85

Cdigos de Caracteres o Alfanumricos (cont.)

Ver http://www.isa.cie.uva.es/proyectos/codec/teoria2.html.
Ejemplo: La palabra "Start" se representa en cdigo ASCII
como sigue:

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

86

Cdigos de Deteccin y Correccin de Errores

Los sistemas digitales pueden cometer errores de vez en


cuando.
Aunque los dispositivos en circuito integrado que carecen de
partes mviles tienen alta confiabilidad; pero los dispositivos
que tienen interaccin con partes mviles son menos
confiables.
Cuando se leen, escriben o transmiten caracteres de un sitio a
otro, pueden
d producirse
d i errores

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

87

Cdigos de Deteccin y Correccin de Errores


(cont.)

Ejemplos:

Se pueden producir errores por polvo en las cabezas lectoras de


una unidad de disco.
La ocurrencia de errores en la transmisin de datos a
distancia.
Los datos que se transmiten por modem pueden recibirse
incorrectamente si la lnea tiene ruidos.
Las perturbaciones en el suministro de energa elctrica pueden
producir errores.

En esta seccin se ilustran dos cdigos que permiten detectar


errores y, en algunos casos, incluso corregirlos.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

88

Cdigos de Deteccin y Correccin de Errores


Cdigo de Paridad

Un mtodo muy simple, pero ampliamente utilizado por su


sencillez para detectar errores en transmisin de datos consiste
en aadir
di un bit
bi de
d paridad
id d a cada
d carcter,

normalmente
l
en
la posicin ms significativa.

En el cdigo
g de p
paridad p
par,, el bit de paridad
p
se elige
g 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,
impar el bit de paridad se elige de
modo que el nmero de bits 1 (incluyendo el de paridad) del
dato sea impar.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

89

Cdigos de Deteccin y Correccin de Errores


Cdigo de Paridad (cont.)
Bit de
Paridad

Cdigo ASCII

Carcter

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

90

Cdigos de Deteccin y Correccin de Errores


Cdigo de Paridad (cont.)
Bit de
Paridad

Cdigo ASCII

Carcter

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

91

Cdigos de Deteccin y Correccin de Errores


Cdigo de Paridad (cont.)

De esta manera, cuando cambia un bit durante la transmisin,


el nmero de unos en el carcter recibido tendr la paridad
equivocada
i
d y ell receptor sabr
b que se ha
h producido
d id un error.
Ejemplo:

Si un transmisor enva Start


Start y hay errores en la transmisin,
transmisin
suponiendo que el receptor recibe la siguiente informacin, en
la siguiente tabla se anota los datos que llegaron errneos y si
se detect o no el error,
error agrega en la columna vaca cuantos
bits cambiaron en la transmisin.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

92

Cdigos de Deteccin y Correccin de Errores


Cdigo de Paridad (cont.)
Dato Enviado

Dato Recibido
(supuesto)

Error

Paridad

Bits Errneos

01010011 (S)

01010010 (R)

Mal

01110100 (t)

01100010 (>)

Mal

11100001 (a)

11100001 (a)

No

Bien

01110010 (r)

01110001 (G)

Bien

01110100 (t)

01110100 (t)

No

Bien

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

93

Cdigos de Deteccin y Correccin de Errores


Cdigo de Paridad (cont.)
Dato Enviado

Dato Recibido
(supuesto)

Error

Paridad

Bits Errneos

11010011 (S)

11010010 (R)

Mal

11110100 (t)

11100010 (>)

Mal

01100001 (a)

01100001 (a)

No

Bien

11110010 (r)

11110001 (G)

Bien

11110100 (t)

11110100 (t)

No

Bien

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

94

Cdigos de Deteccin y Correccin de Errores


Cdigo de Paridad (cont.)

Como puede verse, el cdigo de paridad No siempre resulta


efectivo para detectar errores.
Qu tipo de errores si detecta y cuales no?

Detecta cuando hay una cantidad impar de errores.


Cuando hay una cantidad par de errores no detecta nada.
nada

Este cdigo slo detecta errores en una cantidad impar de bits,


no corrige.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

95

Cdigos de Deteccin y Correccin de Errores


Cdigo de Hamming

Richard Hamming (1950) ide un mtodo no slo para


detectar errores sino tambin para corregirlos, y se conoce
como cdigo
di Hamming.
H
i
Se aaden k bits de paridad a un carcter de n bits, formando
un nuevo carcter de n + k bits. Los bits se numeran
empezando por 1, no por 0, siendo el bit 1 el MSB.
Todo bit cuyo nmero sea potencia de 2 es un bit de paridad y
todos
d los
l dems
d
se utilizan
ili
para datos.
d
Para un carcter ASCII de 7 bits, se aaden 4 bits de paridad.

Los bits 1,
1 2,
2 4 y 8 son bits de paridad; 3,
3 5,
5 6,
6 7,
7 9,
9 10 y 11 son
los 7 bits de datos.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

96

Cdigos de Deteccin y Correccin de Errores


Cdigo de Hamming (cont.)

Cada bit de paridad comprueba determinadas posiciones de bit


y se ajusta de modo que el nmero total de unos en las
posiciones
i i
comprobadas
b d sea par, sii se trata de
d paridad
id d par; o
sea impar, si se trata de paridad impar.
En este cdigo se pueden detectar errores en 1 o 2 bits, y
tambin corregir errores en un solo bit.

Esto representa una mejora respecto a los cdigos con bit de


paridad,
id d que pueden
d detectar
d t t errores en slo
l un bit,
bit pero no
pueden corregirlo.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

97

Cdigos de Deteccin y Correccin de Errores


Cdigo de Hamming (cont.)

Las posiciones de los bits comprobados por los de paridad


son:

El bit 1 comprueba los bits 1, 3, 5, 7, 9 y 11.


El bit 2 comprueba los bits 2, 3, 6, 7, 10 y 11.
El bit 4 comprueba los bits 4,
4 5,
5 6 y 7.
7
El bit 8 comprueba los bits 8, 9, 10 y 11.

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.


5
El bit 6 es comprobado por los bits 2 y 4 porque 2 + 4 = 6.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

98

Cdigos de Deteccin y Correccin de Errores


Cdigo de Hamming (cont.)

Ejemplo: Usando paridad par, construir el cdigo de


Hamming para el carcter "b.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

99

Cdigos de Deteccin y Correccin de Errores


Cdigo de Hamming (cont.)

Considrese que pasara si el bit 1 se modificara durante la


transmisin.

El carcter recibido sera 10111001010 en lugar de


00111001010.
El receptor
p comprobara
p
los 4 bits de paridad
p
con los
resultados siguientes:

Bit de paridad 1 incorrecto: bits 1, 3, 5, 7, 9 y 11 contienen tres


unos.
unos
Bit de paridad 2 correcto: los bits 2, 3, 6, 7, 10 y 11 contienen dos
unos.
Bit de paridad 4 correcto: los bits 4,
4 5,
5 6 y 7 contienen dos unos.
unos
Bit de paridad 8 correcto: los bits 8, 9, 10 y 11 contienen dos
UCR-ECCI CI-1204
Matemtica Discretas
unos.
Sistemas Numricos, Aritmtica Digital y Cdigos
100

Cdigos de Deteccin y Correccin de Errores


Cdigo de Hamming (cont.)

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

101

Cdigos de Deteccin y Correccin de Errores


Cdigo de Hamming (cont.)

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.

El bit de paridad 2 es correcto, sabemos que los bits 2, 3, 6, 7, 10 y


11 son correctos
correctos, de forma que el error no estaba en los bits 33, 7 u 11
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
errores. Esto reduce la eleccin al 1 9.
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.

D d que se recibi
Dado
ibi como un 1,
1 debera
d b haberse
h b
transmitido
t
itid como un
0. En esta forma se pueden corregir los errores

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

102

Cdigo de Huffman

Cdigo ptimo dentro de los cdigos de codificacin


estadstica, es el cdigo de menor longitud media.
A los smbolos con mayor frecuencia de aparicin se les
asignarn las palabras de cdigo binario de menor longitud.

Se ordena el conjunto de smbolos del alfabeto fuente en orden


creciente de probabilidades de aparicin.
Se juntan los dos smbolos con menor probabilidad de
aparicin
i i en un nico
i smbolo,
b l cuya probabilidad
b bilid d ser la
l suma
de las probabilidades de los smbolos que lo originaron.
Se repite este proceso hasta que slo tengamos dos smbolos.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

103

Cdigo de Huffman (cont.)

Se asigna un 1 a uno de los dos smbolos que tenemos y un 0 al


otro.
R
Recorreremos
lla estructura que hemos
h
construido
id hacia
h i atrs,

cuando dos smbolos hayan dado origen a un nuevo smbolo,


estos "heredarn" la codificacin asignada a este nuevo
smbolo.
Se le aadir un 1 a la codificacin de uno de los smbolos y un
0 a la del otro smbolo.
Sustituimos cada palabra del texto por el cdigo respectivo y,
una vez hecho esto, agrupamos los bits en grupos de ocho, es
decir en bytes.
bytes

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

104

Ejemplo del Cdigo de Huffman

Se obtienen las frecuencias de cada palabra dentro del


documento:
casa
29
nuevo

pesa

12

plato
l t

sucio

tarde

Se ordenan las frecuencias en orden ascendente:


((sucio,, pplato,, nuevo,, tarde,, pesa,
p , casa))
(4, 5, 7, 8, 12, 29)

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

105

Ejemplo del Cdigo de Huffman (cont.)

Luego se eligen los dos valores ms pequeos y se construye


un rbol binario con hojas etiquetadas:
9
0

sucio

plato
p

Se reemplazan los dos valores por su suma, obtenindose una


nueva secuencia ((7,, 8,, 9,, 12,, 29).
) De nuevo,, se toman los dos
valores ms pequeos y se construye el rbol binario:
15

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

nuevo

tarde

106

Ejemplo del Cdigo de Huffman (cont.)

Ahora se tienen las frecuencias (9, 12, 15, 29) y una vez ms
se seleccionan las menores:
21
0

pesa

sucio

plato

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

107

Ejemplo del Cdigo de Huffman (cont.)

Ahora se tienen las frecuencias (15, 21, 29) y una vez ms se


seleccionan las menores:
36
0

15

21

nuevo

tarde

pesa

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

sucio

plato

108

Ejemplo del Cdigo de Huffman (cont.)

Las dos frecuencias restantes, 29 y 36, se combinan en el rbol


final:
65
0

36

casa
0

15

21

nuevo

tarde

pesa

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

sucio

plato

109

Ejemplo del Cdigo de Huffman (cont.)

Del rbol anterior obtenemos el cdigo para este alfabeto:


casa

nuevo

100

pesa

111

plato

1101

sucio

1100

tarde
ta
de

101
0

Sustituimos cada palabra del texto por el cdigo respectivo y,


g p
los bits en ggrupos
p de ocho,, es
una vez hecho esto,, agrupamos
decir en bytes.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

110

Referencias Bibliogrficas

Jonnsonbaugh, Richard. Matemticas Discretas. Prentice


Hall, Mxico. Sexta Edicin, 2005.
Elizande, Mara Guadalupe. Introduccin a los Sistemas
Computacionales. URL:
http://www.fismat.umich.mx/ elizalde/curso/curso.html.
http://www.fismat.umich.mx/~elizalde/curso/curso.html.
Cdigo Binario Decimal. URL:
http://es.wikipedia.org/wiki/C%C3%B3digo_binario_decimal.
Tablas de Cdigos. URL:
http://www.isa.cie.uva.es/proyectos/codec/teoria2.html.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos

111

Das könnte Ihnen auch gefallen