Вы находитесь на странице: 1из 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 2
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 i l a (bn)*A,
l igual )*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 3
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 4
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 5
Sistema Decimal o Base 10 (cont.)
Ejemplo:

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos 6
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
UCR-ECCI
contiene 1 bit.
CI-1204 Matemtica Discretas
Sistemas Numricos, Aritmtica Digital y Cdigos 7
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 8
Sistema Binario o Base 2 (cont.)
Conversin de binario a decimal:

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos 9
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 Conversin de octal a
octal: binario:

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos 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 lal 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 Conversin de hexadecimal
hexadecimal: a binario:

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos 21
Sistemas Numricos
Base 10 Base 2 Base 8 Base 16
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
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
UCR-ECCI CI-1204 Matemtica Discretas
15 1111
Sistemas Numricos, Aritmtica Digital y Cdigos
17 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
1100110012 =
Decimal Suma
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
Divisin-
Binario 10810 = 11011002
Multiplicacin
Divisin-
Octal 10810 = 1548
Multiplicacin
Divisin-
Hexadecimal 10810 = 6C16
Multiplicacin

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos 24
Operaciones Bsicas en Binario
1 1 1 1 1 1 1
1 0 0 1 . 1 0 12 1 0 1 0 1 . 0 1 12
1 1+ 1+ 1+
+ 1 0 1 1 . 1 1 02 - 1 0 1 1 . 1 1 02
1 0 1 0 1 . 0 1 12 0 1 0 0 1 . 1 0 12

1 0 0 1 . 1 0 12
1 0 . 12
1 1 1 1 1
1 0 0 1 1 0 1
0 0 0 0 0 0 0 -
1 0 0 1 1 0 1 -
1 1 0 0 0
0. 0 0 0 12

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos 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 1 1 1 1
3 2 6 . 0 58 1 2 4 2 . 3 08
1 1+ 1+
+ 7 1 4 . 2 38 - 7 1 4 . 2 38
1 2 4 2 . 3 08 0 3 2 6 . 0 58

1 3/2 1/1 2/1


7 1 4 . 2 38
5 68
1 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 1 1 1 1
A 4 2 . C E16 1 2 F 4 . A 516
1 1+ 1+
+ 8 B 1 . D 716 - 8 B 1 . D 716
1 2 F 4 . A 516 0 A 4 2 . C E16

2 1 8 9
A 4 2 . C E16
1 B16
1 1 1
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 B
- 1 4 4
0 1 7 A
- 1 7 A
0 0 0
UCR-ECCI CI-1204 Matemtica Discretas
Sistemas Numricos, Aritmtica Digital y Cdigos 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, h bn posibles
hay 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 vueltal 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 lal 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 1
3 4 9 1 5 4
+ 8 2 5 + 8 2 6
1 1 7 4 Desborde 0 9 8 0

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos 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
825 -175 3 4 9 3 14 9
1 1 1
- 8 2 5 + 8 2 5 - 11 7 5
0 1 7 5 1 1 7 4 1 7 4

1 1
3 4 9 5 1 0
+ 2 2 5 + 6 9 2
UCR-ECCI CI-1204 7 4 Discretas
5 Matemtica Desborde 1 2 0 2 Desborde
Sistemas Numricos, Aritmtica Digital y Cdigos 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 2 5 4
+ 7 4 1 + 7 4 2
1 1 1 2 9 9 6
+ 1
1 1 3 Desborde
UCR-ECCI CI-1204 Matemtica Discretas
Sistemas Numricos, Aritmtica Digital y Cdigos 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 9 9 825 -174
174 3 4 9 3 14 9
- 8 2 5 + 8 2 5 - 11 7 4
1 7 4 1 1 7 4 1 7 5
+ 1
1 7 5
1 1
3 4 9 5 1 0
+ 2 2 5 + 6 9 2
5 7 4 Desborde 1 2 0 2
+ 1
UCR-ECCI CI-1204 Matemtica Discretas 2 0 3 Desborde
Sistemas Numricos, Aritmtica Digital y Cdigos 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 SeS 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 = 111112
+31 -31
0 0 0 1 1 1 1 1 1 0 0 1 1 1 1 1

Signo Magnitud Signo Magnitud

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos 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
cuyo p el rango
g establecido.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos 49
Representacin de Enteros Con Signo
Signo y Magnitud (cont.)
Ejemplo:
1 1 1 1 1 1 1 1 1 1
+3 1 0 0 0 1 1 1 1 1 +8 5 0 1 0 1 0 1 0 1
+ +8 5 + 0 1 0 1 0 1 0 1 + -3 1 - 1 1+01+01+11+11+1 1 1
+1 1 6 0 1 1 1 0 1 0 0 + 5 4 0 0 1 1 0 1 1 0

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

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos 50
Representacin de Enteros Con Signo
Signo y Magnitud (cont.)
Ejemplo:
1 1 1 1 1 1
+1 2 7 0 1 1 1 1 1 1 1
+ +1 + 0 0 0 0 0 0 0 1
+1 2 8 0 0 0 0 0 0 0 0 = +0 Desborde

1 1 1 1 1 1
-1 2 7 1 1 1 1 1 1 1 1
+ -1 + 1 0 0 0 0 0 0 1
-1 2 8 1 0 0 0 0 0 0 0 = -0 Desborde

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos 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
0 1 7 9 F
1 0 6 8 E
2 - 5 7 D
3 - 4 6 C
4 - 3 5 B
5 - 2 4 A
6 - 1 3 9
7 - 0 2 8
8 - - 1 7
9 - - 0 6
A - - - 5
B - - - 4
C - - - 3
D - - - 2
E - - - 1
F - - - 0
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 b = 100 b-1
b 1 = 99

+31 = 3 1 -31 = 6 8
((1)) 9 9 ((2)) 3 1 6 8
- 3 1
6 8

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos 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 b = 100000000 b-1
b1 = 11111111

+31 = 0 0 0 1 1 1 1 1 -31 = 1 1 1 0 0 0 0 0
(1) 1 1 1 1 1 1 1 1
- 0 0 0 1 1 1 1 1
1 1 1 0 0 0 0 0

(2) 0 0 0 1 1 1 1 1
1 1 1 0 0 0 0 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 b = 100

+31 = 3 1 -31 = 6 9
((1)) 1 1
0 10 ((2)) 3 1 6 8
1 1+
- 3 1 + 1
0 6 9 6 9

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos 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 b = 100000000
+31 = 0 0 0 1 1 1 1 1 -31 = 1 1 1 0 0 0 0 0
1
(1) 1 0 10 10 10 10 10 10 10
1 1+
- 0 1+0 1+0 1+1 1+1 1+1 1+1 1
0 1 1 1 0 0 0 0 1

(2) 0 0 0 1 1 1 1 1
1 1 1 0 0 0 0 0
+ 1
UCR-ECCI CI-1204 Matemtica Discretas 1 1 1 0 0 0 0 1
Sistemas Numricos, Aritmtica Digital y Cdigos 61
Tabla Resumen de las Reglas de Suma y Resta
para Nmeros Enteros Binarios
Sistema de
Reglas de Suma Reglas de Negacin Reglas de Resta
Nmeros
Sin signo Se suman los N/A Se resta el
nmeros. sustraendo del
El resultado est minuendo.
fuera de rango El resultado est
(desborde), si ocurre fuera del rango
un acarreo fuera del (desborde), si ocurre
MSB. un prstamo fuera
del MSB.

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos 62
Tabla Resumen de las Reglas de Suma y Resta
para Nmeros Enteros Binarios
Sistema de
Reglas de Suma Reglas de Negacin Reglas de Resta
Nmeros
Signo y magnitud Igual signo. Se Cambie el signo de Cambie el bit de
suman las bit. signo del sustraendo
magnitudes; se da y proceda como una
un desborde si suma.
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 63
Tabla Resumen de las Reglas de Suma y Resta
para Nmeros Enteros Binarios
Sistema de
Reglas de Suma Reglas de Negacin Reglas de Resta
Nmeros
Complemento a 2 Se suma e ignora Se complementan Se complementan
cualquier acarreo todos los bits del todos los bits del
fuera del MSB. sustraendo; se suma sustraendo, se suma
El desborde ocurre 1 al resultado. 1 al resultado; y se
si los acarreos procede como en la
entrante y saliente al suma.
MSB son diferentes.
Complementos a 1 Se suma y si hay un Se complementan Se complementan
acarreo fuera del todos los bits del todos los bits del
MSB, se suma 1 al sustraendo. sustraendo y se
resultado. procede como en la
El desborde ocurre suma
suma.
si los acarreos
entranteDiscretas
UCR-ECCI CI-1204 Matemtica y saliente al
MSBDigital
Sistemas Numricos, Aritmtica son diferentes.
y Cdigos 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 Aiken
BCD (8421) Exceso 3 Biquinario 1 de 10
Decimal (2421)
0 0000 0000 0011 0100001 1000000000
1 0001 0001 0100 0100010 0100000000
2 0010 0010 0101 0100100 0010000000
3 0011 0011 0110 0101000 0001000000
4 0100 0100 0111 0110000 0000100000
5 0101 1011 1000 1000001 0000010000
6 0110 1100 1001 1000010 0000001000
7 0111 1101 1010 1000100 0000000100
8 1000 1110 1011 1001000 0000000010
9 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
Aiken
BCD (8421) Exceso 3 Biquinario 1 de 10
(2421)
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
cambiar el bit menos significativo qque ggenera un nuevo
cdigo.
UCR-ECCI CI-1204 Matemtica Discretas
Sistemas Numricos, Aritmtica Digital y Cdigos 80
Cdigo Gray (cont.)
Nmero Decimal Cdigo Binario Cdigo 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

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos 81
Cdigo Gray (cont.)
Nmero Decimal Cdigo Binario Cdigo Gray
8 1000 1100
9 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 Coded 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 pparidad 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
Cdigo ASCII Carcter
Paridad
0 1 0 1 0 0 1 1 S
0 1 1 1 0 1 0 0 t
1 1 1 0 0 0 0 1 a
0 1 1 1 0 0 1 0 r
0 1 1 1 0 1 0 0 t

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
Cdigo ASCII Carcter
Paridad
1 1 0 1 0 0 1 1 S
1 1 1 1 0 1 0 0 t
0 1 1 0 0 0 0 1 a
1 1 1 1 0 0 1 0 r
1 1 1 1 0 1 0 0 t

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 Recibido
Dato Enviado Error Paridad Bits Errneos
(supuesto)
01010011 (S) 01010010 (R) S Mal 1
01110100 (t) 01100010 (>) S Mal 3
11100001 (a) 11100001 (a) No Bien 0
01110010 (r) 01110001 (G) S Bien 2
01110100 (t) 01110100 (t) No Bien 0

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 Recibido
Dato Enviado Error Paridad Bits Errneos
(supuesto)
11010011 (S) 11010010 (R) S Mal 1
11110100 (t) 11100010 (>) S Mal 3
01100001 (a) 01100001 (a) No Bien 0
11110010 (r) 11110001 (G) S Bien 2
11110100 (t) 11110100 (t) No Bien 0

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 7
pesa 12
plato
l t 5
sucio 4
tarde 8

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 1

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
0 1

UCR-ECCI CI-1204 Matemtica Discretas nuevo tarde


Sistemas Numricos, Aritmtica Digital y Cdigos 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 1

9 pesa
0 1

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 1

15 21
0 1 0 1

nuevo tarde 9 pesa


0 1

sucio plato

UCR-ECCI CI-1204 Matemtica Discretas


Sistemas Numricos, Aritmtica Digital y Cdigos 108
Ejemplo del Cdigo de Huffman (cont.)
Las dos frecuencias restantes, 29 y 36, se combinan en el rbol
final: 65
0 1

casa 36
0 1

15 21
0 1 0 1

nuevo tarde 9 pesa


0 1

UCR-ECCI CI-1204 Matemtica Discretas sucio plato


Sistemas Numricos, Aritmtica Digital y Cdigos 109
Ejemplo del Cdigo de Huffman (cont.)
Del rbol anterior obtenemos el cdigo para este alfabeto:
casa 0
nuevo 100
pesa 111
plato 1101
sucio 1100
tarde
ta de 101
0

Sustituimos cada palabra del texto por el cdigo respectivo y,


una vez hecho esto,, agrupamos
g p los bits en ggrupos
p de ocho,, es
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

Вам также может понравиться