Sunteți pe pagina 1din 37

TEMA 2.

Sistemas de numeracin, aritmtica y


cdigos

Sistemas de representacin numrica:


Definiciones.
Sistemas de numeracin posicional.
Conversin entre bases
bases.

Representacin de nmeros negativos


Signo-magnitud, complemento a 1, complemento a 2.

Operaciones aritmticas en binario.


Cdigos digitales:
Numricos y alfanumricos: Cdigos Gray
Gray, con exceso
exceso, BCD
y ASCII.
Cdigos detectores y correctores de error.

Bibliografa: Captulo 2 y Apndice B de [Floyd, 06] y


Captulo 1 de [Nelson, 96].

Sistemas de representacin
Los sistemas de representacin de nmeros se llaman sistemas de
numeracin.
Cifras o dgitos: los smbolos que se usan para representar nmeros.
Base de un sistema de numeracin: el cardinal del conjunto de cifras.
Sistema de numeracin posicional: cada dgito tiene un peso de
acuerdo
d con su posicin.

En la representacin de un nmero:
el dgito ms a la izquierda es el ms significativo (el de ms peso)
el dgito ms a la derecha es el menos significativo (el de menos
peso)

Ejemplo : Sistema de numeracin decimal, sistema de numeracin


binario, sistema de numeracin octal y sistema de numeracin
binario
hexadecimal.

Sistemas de numeracin decimal y binario


Sistema decimal

Es un sistema de numeracin posicional.


Cada posicin tiene un peso potencia de 10 (la base).
Dgitos diferentes: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Ejemplo :
23.4

10 2 101 10 0 . 10 1 10 2 10 3

2 101 3100 4 101

Punto decimal separa


parte entera y parte
fraccionaria

Sistema binario

Es un sistema de numeracin posicional de base 2.


Dgitos

diferentes:
df
0, 1.

Ejemplo :
10 . 11
En binario

1 21 0 20 1 21 1 22

2.75
En decimal

Sistema de numeracin binario

Contar en binario

1
1
1
1
1
1
1

representar:

2n 1

Ejemplo:

n5

11111

2 n 1 31

Cada sistema de numeracin tiene su


propia aritmtica definida por las
operaciones aritmticas bsicas:
suma y multiplicacin.

1
1
1
1
1
1

Con n bits para cifras enteras puedo

En un sistema de numeracin posicional


multiplicacin y divisin por la base son
inmediatas.

Conversin decimal-binario

Mtodo

de la divisin
sucesiva por 2. Para pasar de decimal a
binario.
Mtodo
Mt
d d
de lla multiplicacin
lti li
i sucesiva
i por 2.
2 Para
P
convertir
ti
decimales fraccionarios a binarios.

+
Continuar hasta obtener el nmero de posiciones
decimales deseadas o cuando la parte fraccional sea
toda cero.

Divisin sucesiva por 2.

Multiplicacin sucesiva por 2.

Mtodos de conversin

Mtodo de sustitucin de una serie. Procedimiento para convertir un


nmero de base A a base B.
Se pone el nmero en base A en su representacin polinomial
polinomial.
Se evala la serie utilizando aritmtica en base B.

Mtodo de divisin entre la base. Procedimiento p


para convertir un
nmero de base A a base B.
Se toma el nmero en base A y se divide entre la base B en aritmtica en
base A hasta que el cociente sea 0
0.
Los restos de las divisiones son las cifras del nmero en base B. El resto de
la primera divisin es la cifra menos significativa del resultado.

Mtodo de multiplicacin por la base. Procedimiento para convertir


un nmero fraccionario de base A a base B.
La parte fraccionaria del nmero en base A se multiplica por B en aritmtica
en base A. La parte entera del producto resultante es el dgito ms
significativo del resultado.
La parte fraccionaria del nmero obtenido se multiplica de nuevo por B y se
repite el proceso hasta tener el nmero de cifras deseado.

Funcin de conteo en binario

Operaciones aritmticas en binario

B Acarreo Suma

00 0
0 1 0
1 0 0

11 1

Suma.

0
1
1

Resta

A B Prstamo Resta

00 0
0 1 1
1 0 0

11 0

0
1
1

Multiplicacin.
A

producto

0 0 0

0 1 0
1 0 0

1 1 1

La suma de nmeros binarios se realiza comenzando por la derecha


y propagando el acarreo hacia la izquierda.
El producto de nmeros binarios se realiza como en decimal,
desplazando cada producto parcial una posicin a la izquierda.
La resta de
d 0 y 1 exige un prstamo

en la
l columna
l
de
d bits
b
inmediatamente a la izquierda.
Overflow o desbordamiento: se produce cuando el resultado de
una operacin necesita un nmero de bits mayor que el nmero de
bits de los operandos.

Representacin de nmero binarios con signo


Es necesario representar signo y magnitud del nmero.
nmero
Tres formatos binarios:
Sistema signo-magnitud.
Sistema del complemento a 1.
Sistema del complemento a 2.

Signo-magnitud
Signo
magnitud
El bit ms a la izquierda es el bit de signo ( 1 si es negativo y 0 si
positivo)
L bits
Los
bi de
d magnitud
i d son ell nmero

sin
i signo
i
en binario
bi i puro tanto
para los positivos como para los negativos
Con n bits
Co
b ts se puede
pueden representar
ep ese ta nmeros
e os x e
en e
el intervalo
te a o ssiguiente
gu e te
(tenemos 2 representaciones diferentes para el 0):

(2n1 1) x (2n1 1)

Ejemplo: Expresar en signo-magnitud los nmeros 25 y -25.

25

000011001

25

bits de signo

100011001
bits de magnitud

Nmeros binarios con signo: complemento a 1

El bit ms a la izquierda es el bit de signo.


Los nmeros positivos se representan igual que en signo magnitud.
Los nmeros negativos son el complemento a 1 del correspondiente nmero
positivo.

Hacer el complemento a 1 de un nmero es cambiar cada 0 por un 1 y


viceversa.

Con n bits se pueden representar nmeros x en el intervalo:


n1
Hay dos posibles representaciones para el 0.

(2

1) x (2n1 1)

Ejemplo: Expresar en 9 bits en complemento a 1 los nmeros 25 y -25.


-25

25
25

000011001
111100110

bits de signo

Qu nmero
de im l representa
decimal
ep e ent el
nmero 1100 si est
expresado en C1?
El nmero -3.

Nmeros binarios con signo: complemento a 2

El bit ms a la izquierda es el bit de signo.


Los
L nmeros

positivos
iti
i
igual
l que en signo
i
magnitud.
it d
Los nmeros negativos son el complemento a 2 del correspondiente
nmero positivo
positivo.

Para calcular la representacin en complemento a 2 de n bits de un


nmero binario N de n bits se calcula la diferencia 2n-N en binario.

Intervalo de representacin con n bits:

2 n 1 x (2 n 1 1)

Regla para calcular el complemento a 2 de un nmero: hacer el

complemento a 1 de dicho nmero y sumar 1 al bit menos significativo.


significativo

La regla anterior no es vlida en los extremos del intervalo de


representacin.

Nmeros binarios con signo: complemento a 2


Ejemplo: Expresar en complemento a 2 los nmeros 25 y -25.

25

000011001

111100110
25

111100111

Qu nmero
p
decimal representan
los nmeros 1101 y
0010 si estn
expresados en C2?

Los nmero -3 y 2.

Representacin de nmeros con signo


Representar el
nmero -8 en C2
utilizando
tili
d 4 bits:
bit
1000
Representar el
mismo nmero en C2
utilizando 5 bits:
11000

Obtener la representacin en C2 utilizando n bits de un nmero


binario N
realizar en binario la operacin 2n - N

Operaciones aritmticas en C2

Suma y resta. Se expresa cada operando en notacin C2 de


modo que al final se realice suma de operandos con signo y se
realiza
li lla suma en bi
binario
i bit a bit d
de llos operandos
d d
despreciando
i d
el acarreo final.

14
9
23

11110010 +
11110111

111101001

Acarreo que se desprecia

Realizar en 8 bits y en complemento a 2 la resta de 8 y 3

8
3
5

00001000 +
11111101

El C2 de 00000011 (3)

100000101

Si los dos operandos son de igual signo puede haber desbordamiento


desbordamiento.
Si se ha producido desbordamiento (overflow) el signo del resultado
ser incorrecto.

Operaciones aritmticas en C2

Producto. Se hace como en decimal, sumando productos


parciales desplazados.
Se pasan los negativos a su versin positiva en complemento
a 2, se multiplican en binario slo los bits de magnitud y:
Si el resultado debe ser positivo: se aade un 0 en la posicin
ms significativa.
Si el resultado debe ser negativo: se calcula el complemento a
2 del resultado y luego se aade un bit 1 en la posicin ms
significativa.
Realizar el producto de
-3 y 4 utilizando el mnimo
nmero de bits q
que sea
necesario.

El resultado ser 1110100 ?

Realizar tambin el producto de -3 y -4 codificando cada operando y el


producto
d t en 5 bit
bits. El resultado
lt d ser
01100
01100.

Operaciones aritmticas en C1

Suma y resta.
Se expresa cada operando en C1 con el signo que corresponda
de modo que se haga la suma de dos nmeros de igual o
diferente signo.
Se suman los operandos bit a bit en binario y si el acarreo final
es igual a 1, se suma 1 al resultado de la suma.
En caso de que ambos operandos sean del mismo signo puede
producirse desbordamiento.
desbordamiento En ese caso el bit de signo del
resultado que obtendremos al operar ser incorrecto.
Realizar en 6 bits y en complemento
p
a 1 la resta de 8 y 3

8
5

001000 +
111010
1000010 +
1
000011

El C1 de 000101 (5)

Operaciones aritmticas en SM

Suma y resta. Se expresa cada operando en notacin SM y si los


operandos son del mismo signo se suman slo los bits de
magnitud,
it d sii son d
de dif
diferente
t signo
i
se restan
t llos bit
bits d
de magnitud.
it d
Se aade al final el bit de signo.

14
7
21

1001110 +
Suma de bits de magnitud
1000111
010101 No hay bit de acarreo en la suma

Si hay
y un bit de acarreo 1 en la suma esto indicar q
que se ha
producido overflow (desbordamiento).
Aadir el bit de signo al resultado de la suma anterior:

1010101

Sistema de numeracin octal


Sistema de numeracin posicional de base 8.
Dgitos diferentes: 0, 1, 2, 3, 4, 5, 6, 7.
Contar: 0,, 1,, 2,, 3,, 4,, 5,, 6,, 7,, 10 , 11,, 12,, 13,, 14,, 15,, 16,, 17,, 20,, 21
Conversin de octal a decimal: mtodo de suma de pesos.

Conversin de octal a binario y de binario a octal: mtodo de


conversin a potencias de la base. Para pasar de octal a binario ir
convirtiendo una a una por separado cada cifra de octal a binario. Para pasar de
binario a octal ir agrupando las cifras de tres en tres y convirtindolas a octal.

Sistemas de numeracin octal y hexadecimal

Conversin de decimal a octal: pasar el nmero a binario y


agrupar las cifras de tres en tres a partir del punto decimal.

010011.11010
2

23.64 (en octal)

Sistema de numeracin hexadecimal

Sistema de numeracin posicional de base 16.


Dgitos diferentes: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.
Contar:

, D, E, F, 10, 11, 12, 13, , 19, 1A, 1B, 1C, , 1F, 20, 21,
, 13, 14, 15, 16, 17, 18, 19, , 25, 26, 27, 28, , 31, 32, 33,

hexadecimal
binario

Conversin entre bases A y B cuando B=Ak

Para convertir de base A a base B=Ak siempre que k sea entero


positivo:
Agrupamos los dgitos del nmero en base A en grupos de k
dgitos en ambas direcciones a partir del punto decimal.
Reemplazamos cada grupo por el dgito equivalente en base B.

Para convertir de base B=Ak a base A siempre que k sea entero


positivo:
Reemplazamos cada dgito del nmero en base B por los k
dgitos equivalentes en base A.

Por ejemplo para convertir de binario a hexadecimal consideremos A=2 , B=16


y k=4

Ejemplos de conversin

Conversin de hexadecimal a binario: ir convirtiendo una a una por


separado cada cifra hexadecimal a binario.

Conversin de binario a hexadecimal: agrupar las cifras binarias en grupos


de 4 empezando por la derecha e traducirlas a hexadecimal.

Conversin de decimal a hexadecimal: pasar el nmero a binario y


agrupar las cifras de cuatro en cuatro a partir del punto decimal.

010011 . 1101 01
1

13

13.D4 (en hexadecimal)

Mtodos de conversin

Mtodo de sustitucin de una serie. Procedimiento para convertir un


nmero de base A a base B.
Se pone el nmero en base A en su representacin polinomial
polinomial.
Se evala la serie utilizando aritmtica en base B.

Mtodo de divisin entre la base. Procedimiento p


para convertir un
nmero de base A a base B.
Se toma el nmero en base A y se divide entre la base B en aritmtica en
base A hasta que el cociente sea 0
0.
Los restos de las divisiones son las cifras del nmero en base B. El resto de
la primera divisin es la cifra menos significativa del resultado.

Mtodo de multiplicacin por la base. Procedimiento para convertir


un nmero fraccionario de base A a base B.
La parte fraccionaria del nmero en base A se multiplica por B en aritmtica
en base A. La parte entera del producto resultante es el dgito ms
significativo del resultado.
La parte fraccionaria del nmero obtenido se multiplica de nuevo por B y se
repite el proceso hasta tener el nmero de cifras deseado.

Algoritmos generales de conversin

Algoritmo 1.1. Para convertir un nmero de base A a base B


utilizamos, como ya vimos anteriormente en este tema:
Mtodo de sustitucin de una serie con aritmtica de base B
Mtodo de divisin entre la base o multiplicacin por la base con
aritmtica en base A.

Problema: Segn de qu bases se trate puede ser necesario operar en


aritmticas poco habituales e incmodas. En ese caso podemos
aplicar el siguiente algoritmo.

Algoritmo 1.2. Para convertir un nmero de base A a base B


utilizamos:
Mtodo de sustitucin de una serie con aritmtica en base 10 para pasar
de base A a base 10, y
Mtodo de divisin entre la base o multiplicacin por la base en aritmtica
decimal para convertir de base 10 a base B.

Codificacin en BCD

Cada dgito decimal se representa en binario puro utilizando 4 bits.


Paso directo de un nmero decimal a BCD. Intuitivo.
Se conoce tambin como cdigo 8-4-2-1
8421

Suma de nmeros en BCD

Se distinguen dos casos.


La suma de dos dgitos decimales es <= 9. En este caso el

resultado es correcto.
correcto
La suma de dos dgitos decimales es > 9. Hay desbordamiento y

es necesario sumar en binario 6 al resultado para obtener una


configuracin
fi
i correcta y pasar ell acarreo a lla cifra
if siguiente.
i i

Cifras de la
derecha suman
ms de 9.
S
Sumamos
6 a lla
suma de la
derecha
Obtenemos
nmero correcto.

Suma de 67 y 53

Codificacin en exceso a 3

Cada dgito decimal se obtiene sumando 3 a su representacin BCD.


Es un cdigo sin pesos (no hay un peso especfico asignado a cada posicin).
Se usan 10 de las 16 posibles combinaciones binarias de 4 bits.
bits

Cdigo Gray

Es un cdigo sin pesos.


pesos
Las codificaciones de nmeros consecutivos se diferencian en un nico bit, se
dice que tienen distancia 1.

l cdigo Gray puede ser de cualquier nmero de bits.


La distancia entre dos palabras de un cdigo se define como el nmero de bits
en que difieren ambas palabras.

Cdigo Gray de 4 bits para los decimales del 0 al 15

Este cdigo de 4 bits es cclico por diferenciarse en un solo bit la


codificacin de los extremos del intervalo.

Conversin entre cdigo Gray y binario

De binario a Gray. Coincide el bit ms significativo. De izquierda a


derecha ir sumando cada par de bits adyacentes del cdigo
bi i D
binario.
Despreciar
i acarreos.

De Gray a binario. Coincide el bit ms significativo. Luego, de


izquierda a derecha ir sumando cada bit del cdigo Gray con el
del nmero binario que est en posicin adyacente.

Cdigos detectores de error

Cdigos con paridad. Son cdigos redundantes ya que algn bit llamado bit de
paridad indica nicamente si el nmero de bits del cdigo es par o impar.

Se define la distancia entre dos cdigos como el nmero de diferencias entre


bits en las
b
a mismas
a posiciones.
po o

Para detectar errores en 1 bit el cdigo debe tener distancia mnima 2.

Si el cdigo tiene distancia =2 como mnimo


pueden detectarse errores en 1 bit ya que la
palabra errnea no pertenecer al cdigo

Cdigos correctores de error

Podemos detectar y adems corregir


g errores en un bit de las p
palabras del

cdigo si distancia=3 como mnimo. Ejemplo: cdigo Hamming de distancia


mnima 3 con paridad par que codifica en el mensaje las cifras del 0 al 9 en
binario puro.
M3 M5
M3,
M5, M6
M6, M7 ->
> bits de mensaje
C1, C2, C4 -> bits de paridad par
C1 es la paridad de M3, M5 y M7
C2
C2 es lla paridad
id d d
de M3
M3, M6 y M7
C4 es la paridad de M5, M6 y M7

Conociendo el tamao de mensaje (m) puedo decidir


el nmero de bits de paridad que necesito para crear
un cdigo corrector de errores en un bit:

K es el nmero de bits de chequeo


q
(bits
(
de paridad)
p
)
m es el nmero de bits del mensaje
Ejemplo: En la tabla anterior m=4 y k=3

En el receptor calculo la paridad de:


P1 -> C1, M3, M5 y M7
P2 -> C2, M3, M6 y M7
P4 -> C4, M5, M6 y M7
Si alguno
l
d
de llos clculos
l l d
da paridad
id d
impar es que hay error y los Pi
indican la posicin del bit del cdigo
errneo.

Hay error si recibo


utilizando el cdigo
de la tabla el
mensaje 0111010?
Si lo hay, Dnde?

Cdigo Hamming SEC/DED

Es un cdigo de distancia mnima = 4 que permite correccin de errores


simples (en 1 bit) y deteccin de errores dobles (aunque no correccin).
Para 4 bits de mensaje aade a los 3 bits de paridad del cdigo con distancia
3 un bit de
d paridad
id d total
t t l CT.
CT
C1 es la paridad de M3, M5 y M7
Cdigo -> C1 C2 M3 C4 M5 M6 M7 CT C2 es la paridad de M3, M6 y M7
C4 es la paridad de M5, M6 y M7
j
M3,, M5,, M6 y M7 -> bits de mensaje
CT es la paridad de todos los 7 bits
C1, C2, C4 y CT -> bits de paridad
del cdigo.
P1 P2
P1,
P2, P4 y PT

->
> bits de comprobacin
de paridad

Situaciones:

P1= C1
P2= C2
P4= C4
PT= CT

M3
M3
M5
P1

M5
M6
M6
P2

M7
M7
M7
M3 P4 M5 M6 M7

No hay error
o

PT=0 y todos los Pi=0

Deteccin de errores dobles


o

PT=0 y algn Pi=1

Correccin de errores simples


o

PT=1 y algn
g Pi=1 (los
(
Pi dan la posicin
p
de error))

Correccin de errores simples en el bit de paridad total CT


o

PT=1 y todos los Pi=0

Cdigos alfanumricos

Son cdigos que permiten representar no slo nmeros sino tambin letras y
otros smbolos.
Informacin que necesitara codificar:
las 26 letras del alfabeto

las 10 cifras decimales

los signos especiales (puntuacin, punto y coma,)


cdigos
di
de
d controll
el alfabeto griego,

Hay cientos de estndares de codificacin pero nos centraremos en dos:


ASCII (cdigo estndar americano para el intercambio de informacin)
por su uso extendido
t did y su importancia
i
t
i histrica
hi t i
UNICODE por ser el estndar ms actual y novedoso y que aglutina
otras iniciativas adems de incluir al ASCII.

Cdigos alfanumricos: ASCII


Dispone de 128 caracteres codificados en cdigo binario de 7 bits (se
aade un cero en la posicin ms significativa y se considera de 8 bits).
Permite codificar:

Caracteres de A a Z,, en maysculas


y
y en minsculas
Caracteres especiales (<, >, ?, )
Nmeros del 0 al 9.
Cdigos de control especiales para control de dispositivos.
Cdigo ASCII extendido: incorpora otros 128 caracteres adicionales y
utiliza 8 bits. Fue adoptado inicialmente por IBM para sus PCs.
Codifica:

Caracteres alfabticos no ingleses, smbolos no ingleses, letras

griegas, smbolos matemticos, caracteres no grficos, caracteres


grficos
fi
de
d barras
b
y caracteres
t
sombreados.
b d

Cdigo ASCII

Cdigos alfanumricos: UNICODE


Estndar de codificacin de 16 bits, lo que permite 65536 cdigos.
http://www.unicode.org

Esfuerzo conjunto desde 1992 de diferentes organizaciones


para unificar estndares:
Apple Computer,
Computer Borland,
Borland Digital,
Digital Hewlett-Packard
Hewlett-Packard,
International Business Machines, Lotus, Microsoft (lo eligi
como estndar para Windows NT),

Permite procesar y comunicar informacin en cualquier lengua


y producir software que pueda ser utilizado en cualquier
lengua.

Cdigos alfanumricos: UNICODE

Soluciona el problema de codificaciones estndar sin suficiente


espacio para todos los smbolos que es necesario codificar.
Codifica tambin por ejemplo caracteres fonticos del chino o
poco utilizadas como
coreano y formas de escritura histricas p
sumerio o fenicio.
Dos caractersticas importantes:
codificacin nica (una letra que aparece en diferentes idiomas
presenta una nica codificacin UNICODE)
codificacin uniforme (todos los cdigos de igual longitud)

La ltima versin del repositorio de datos (Unicode Common Local


Data Repository project) es de Mayo de 2011 e incluye soporte para
200 lenguas diferentes.
Consultar www.unicode.org

TEMA 3. Anlisis y sntesis de


circuitos lgicos combinacionales

Fundamentos del lgebra de Boole.


Funciones de conmutacin y su anlisis.
Representaciones: tablas de verdad y formas algebraicas.
Formas cannicas: SOP y POS.
Funciones incompletamente especificadas.

Puertas lgicas: soluciones integradas.


Simplificacin de funciones de conmutacin.
Sntesis de circuitos lgicos combinacionales.
Conjuntos universales de mdulos.
Sntesis mediante redes de dos niveles.

Bibliografa: Captulos 2 y 3 [Nelson, 96].

S-ar putea să vă placă și