Sistemas de Numeración, Operaciones - Diseño Logico

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 53

Sistemas de Numeracin

Operaciones - Cdigos
Tema 2
1. Sistema decimal
2. Sistema binario
3. Sistema hexadecimal
4. Sistema octal
5. Conversin decimal binario
6. Aritmtica binaria
7. Complemento a la base-1, Complemento a la base-2
8. Nmeros con signo
9. Operaciones aritmticas de nmeros con signo
10. Representacin en Exceso
11. Representacin interna: IEEE 754
12. Cdigos digitales
13. Deteccin de errores y cdigos de correccin
Dr. Oscar Ruano - 2011-2012 2
Sistemas posicionales de numeracin
Qu es un sistema de numeracin posicional?
1234,56 = 11000 + 2100 + 310 + 41 + 50,1 + 60,01
TEOREMA FUNDAMENTAL DE LA NUMERACIN
La frmula general para construir un nmero (cualquier nmero) N en un
sistema de numeracin posicional de base b es la siguiente:
Dr. Oscar Ruano - 2011-2012 3
Sistema decimal
El sistema decimal es un sistema de numeracin posicional, por lo que
el valor del dgito depende de su posicin dentro del nmero.
Es sistema decimal usa diez dgitos para expresar los nmeros
Base = {0,1,2,3,4,5,6,7,8,9} = base 10
Teorema fundamental para sistemas decimales:
La posicin de cada dgito en un nmero decimal indica la magnitud de la
cantidad representada y se asignan pesos:
ENTEROS: ... 10
5
10
4
10
3
10
2
10
1
10
0
FRACCIONARIOS: 10
2
10
1
10
0
, 10
-1
10
-2
10
-3
...
El valor de un nmero decimal es la suma de los dgitos despus de
haber multiplicado cada dgito por su peso.
Dr. Oscar Ruano - 2011-2012 4
Sistema binarios
El sistema binario es un sistema de numeracin posicional al igual que el decimal
visto con anterioridad.
nicamente emplea 2 dgitos (bits)
Es un sistema de Base={0,1}=base 2
Teorema fundamental para sistemas binarios:
El valor de un bit se determina por su posicin dentro del nmero
El bit ms a la derecha es el bit menos significativo (LSB Least Significant Bit) en un
nmero entero binario y su peso es de 2
0
= 1.
El bit ms a la izquierda es el bit ms significativo (MSB Most Significant Bit) y su peso
depende del tamao del nmero binario.
ENTEROS: 2
n-1
2
2
2
1
2
0
FRACCIONARIOS: 2
n-1
2
2
2
1
2
0
, 2
-1
2
-2
2
-n
En general con n bits podemos contar hasta un nmero igual a 2
n
-1
n=5 ..................... 2
5
-1 = 32 1 = 31
Dr. Oscar Ruano - 2011-2012 5
Sistema binario
Dr. Oscar Ruano - 2011-2012 6
Nmeros hexadecimales
Consta de 16 smbolos {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} base 16
Los nmeros tiene un valor de posicin caracterstico: sistema posicional
Dr. Oscar Ruano - 2011-2012 7
Nmeros hexadecimales
Dr. Oscar Ruano - 2011-2012 8
Conversin decimal - hexadecimal
Mtodo til para convertir un decimal a binario, octal
Dr. Oscar Ruano - 2011-2012 9
Conversin hexadecimal - decimal
Dr. Oscar Ruano - 2011-2012 10
Conversin binario - hexadecimal
Dr. Oscar Ruano - 2011-2012 11
Conversin hexadecimal - binario
Nota: sumar y restar igual que en complemento a 2
Dr. Oscar Ruano - 2011-2012 12
Nmeros octales
Consta de 8 smbolos {0, 1, 2, 3, 4, 5, 6, 7, 8} base 8
Dr. Oscar Ruano - 2011-2012 13
Conversin binario - octal
Dr. Oscar Ruano - 2011-2012 14
Conversin octal - binario
Dr. Oscar Ruano - 2011-2012 15
Conversin binario a decimal
El valor decimal de cualquier nmero decimal binario puede hallarse
sumando los pesos de todos los bits que estn a 1 y descartando los pesos
de todos los bits que son 0.
Convertir el nmero entero binario 1101101 a decimal
Convertir el nmero binario fraccionario 0,1011 a decimal
32 + 16 + 0 + 0 + 2 + 1 = 51
1 1 0 0 1 1
Decimal
Binary
Dr. Oscar Ruano - 2011-2012 16
Conversin decimal a binario
Mtodo de la suma de pesos
Este mtodo consiste en determinar el conjunto de pesos binarios cuya
suma equivalga al nmero decimal.
Convertir el nmero 153
10
a binario.
153
10
= 2
7
+ 2
4
+ 2
3
+ 2
0
= 128 + 16 +8 +1
153
10
= 100110012
Mtodo de la divisin sucesiva por 2 (mtodo visto con anterioridad)
Se va dividiendo la cantidad decimal por 2, apuntando los residuos,
hasta obtener un cociente cero. El ltimo residuo obtenido es el bit ms
significativo (MSB) y el primero es el bit menos significativo (LSB).
Dr. Oscar Ruano - 2011-2012 17
Conversin decimal a binario
Divide by 2 Process
Decimal # 13 2 = 6 remainder 1
6 2 = 3 remainder 0
3 2 = 1 remainder 1
1 2 = 0 remainder 1
1 1 0 1
Divide-by-2 Process
Stops When
Quotient Reaches 0
Dr. Oscar Ruano - 2011-2012 18
Codificadores y Decodificadores
0
Decimal
to
Binary
Encoder
Binary output
Decimal input
0 0 0 0
5
0 1 0 1
7
0 1 1 1
3
0 0 1 1
Binary-to-
7-Segment
Decoder/
Driver
Binary input
0 0 0 0
Decimal output
0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0
Dr. Oscar Ruano - 2011-2012 19
Conversin de fracciones decimales a binario
Suma de pesos
Emplea la misma metodologa de la suma de potencias de 2 pero se
trabaja con potencias negativas.
Convertir el nmero 0,875
10
a binario.
0,875
10
= (2
-1
) + (2
-2
) + (2
-3
) = 0,5 + 0,25 + 0,125 = 0,111
2
Multiplicacin sucesiva por 2
La conversin de nmeros decimales fraccionarios a binario se realiza
con multiplicaciones sucesivas por 2. El nmero decimal se multiplica
por 2, de ste se extrae su parte entera, el cual va a ser el MSB y su
parte fraccional se emplea para la siguiente multiplicacin y seguimos
sucesivamente hasta que la parte fraccional se vuelva cero o maneje un
error moderado. El ltimo residuo o parte entera va a constituir el LSB.
Convertir el nmero 0,875
10
a binario.
Dr. Oscar Ruano - 2011-2012 20
Dr. Oscar Ruano - 2011-2012 21
Aritmtica binaria: Suma
Reglas fundamentales para la suma
0 + 0 = 0 Suma 0 con Suma 0 con acarreo acarreo 0 0
0 + 1 = 1 Suma 1 con Suma 1 con acarreo acarreo 0 0
1 + 0 = 1 Suma 1 con Suma 1 con acarreo acarreo 0 0
1 + 1 = 10 Suma 0 con Suma 0 con acarreo acarreo 1 1
Ejemplos:
010 + 101 = 111 2
10
+ 5
10
= 7
10
001101 + 100101 = 110010 13
10
+ 37
10
= 50
100
Dr. Oscar Ruano - 2011-2012 22
Aritmtica binaria: Resta
Reglas fundamentales para la resta
0 0 = 0
1 0 = 1
1 1 = 0
10 1 = 1 ; 0-1 con acarreo negativo de 1
Ejemplos:
111 101 = 010 7
10
5
10
= 2
10
10001 01010 = 00111 17
10
10
10
= 7
10
Comprobacin: A B = C ; C + B = A
Dr. Oscar Ruano - 2011-2012 23
Aritmtica binaria: Multiplicacin
Reglas fundamentales para la multiplicacin
La multiplicacin binaria es tan
sencilla como la decimal, y es
que funcionan de la misma
manera
Ejemplo:
Dr. Oscar Ruano - 2011-2012 24
Aritmtica binaria: Divisin
Reglas fundamentales para la divisin
1 1/1
0 0/1
No permitido 1/0
No permitido 0/0
El procedimiento de divisin contina del
mismo modo que en el sistema decimal.
Ejemplos:
Dr. Oscar Ruano - 2011-2012 25
Cuadro Resumen Operaciones
Dr. Oscar Ruano - 2011-2012 26
Formato signo-magnitud
Dr. Oscar Ruano - 2011-2012 27
Complemento a la BASE-1
Dado un nmero positivo N en base b con parte entera de n dgitos y una
parte decimal de m dgitos, se define el complemento a b-1 de cmo :
Dr. Oscar Ruano - 2011-2012 28
Complemento a 1
Representaciones importates ya que nos permiten representar nmeros
negativos.
La aritmtica en complemento a 2 se usa en las computadores para
manipular nmeros negativos.
Clculo del complemento a 1
El complemento a 1 de un nmero binario se halla cambiando todos los 1s por 0s
y todos los 0s por 1s
10110010 01001101
La forma ms sencilla de obtener el complemento a 1 de una nmero binario
mediante un circuito digital es utilizando inversores en paralelo (circuitos NOT)
Dr. Oscar Ruano - 2011-2012 29
Complemento a la BASE
Dado un nmero positivo N en base b con parte entera de N dgitos, se
define el complemento a b de N como:
Dr. Oscar Ruano - 2011-2012 30
Complemento a 2
El complemento a 2 de un nmero binario se obtiene sumando 1 al LSB
del complemento a 1.
n binario: Complemento a 1 + 1 = Complemento a 2
10110010: 01001101 + 1 = 01001110
Mtodo alternativo:
1. Se empieza por la derecha con el LSB y se escriben los bits como estn
hasta encontrar el primer 1, incluido este.
2. Se calcula el complemento a 1 de los bits restantes.
Dr. Oscar Ruano - 2011-2012 31
Nmeros con signo
Formatos binarios para representar nmeros enteros con signo:
Signo-magnitud
Complemento a 1
Complemento a 2
Bit de signo
El bit mas a la izquierda de un nmero binario con signo es el bit de signo, que
indica si el nmero es positivo o negativo.
Un bit de signo 0 indica que es un nmero positivo
Un bit de signo 1 indica que es un nmero negativo.
Dr. Oscar Ruano - 2011-2012 32
Formatos
SIGNO-MAGNITUD
En el formato signo-magnitud, un nmero negativo tiene los mismo bits de magnitud que el
correspondiente nmero positivo, pero el bit de signo es un 1 en lugar de un 0.
0 0011001 +25 || 1 0011001 -25
COMPLEMENTO A 1:
Nmeros positivos: misma forma que los nmeros positivos en signo-magnitud
Nmeros negativos: son el complemento a 1 del correspondiente nmero positivo.
Ejemplo:
+25 (00011001)
-25 (11100110)
COMPLEMENTO A 2:
Nmeros positivos: misma forma que los nmeros positivos en signo-magnitud y de
complemento a 1.
Nmero negativos: son el complemento a 2 del correspondiente nmero positivo
Ejemplo:
+25 (00011001)
-25 (11100111)
Signo magnitud Signo magnitud
Dr. Oscar Ruano - 2011-2012 33
El valor decimal de los nmeros con
signo
SIGNO-MAGNITUD.
POSITIVOS && NEGATIVOS: sumar los pesos de todas las posiciones de los bits de magnitud cuando son
1. El signo se determina examinando el bit de signo
1 0010101
Magnitud = 16+4+1 = 21
Signo = 1 = -
COMPLEMENTO A 1
POSITIVOS: sumar los pesos de todas las posiciones de bit donde haya 1
NEGATIVOS: asignar el valor negativo al peso del bit de signo, y sumar todos los pesos donde haya 1s y
sumar 1 al resultado
00010111 16+4+2+1 = +23
11101000 -128+64+32+8 = -24 + 1 = -23
COMPLEMENTO A 2
POSITIVOS: sumar los pesos de todas las posiciones de bit donde haya 1
NEGATIVOS: el peso del bit de signo en un nmero negativo viene dado por su calor negativo
01010110 64+16+4+2 = +86
10101010 -128+32+8+2 = -86
Es preferible usar el sistema de complemento a 2 para representar nmeros con signo: se requiere una adicin de
pesos independientemente de que el nmero sea positivo o negativo
Dr. Oscar Ruano - 2011-2012 34
Rango de representacin de los nmeros
enteros con signo
El rango de magnitud de un nmero binario depende del nmero de
bits (n)
8 bits (byte) 256 nmeros diferentes
16 bits 65536 nmeros diferentes N total de combinaciones = 2
n
32 bits 4,295 x 10
9
Nmeros con signo en signo-magnitud
Rango = - (2
n-1
-1) hasta + (2
n-1
-1)
Nmeros con signo en complemento a 2
Rango = - (2
n-1
) hasta + (2
n-1
-1)
Dr. Oscar Ruano - 2011-2012 35
Suma: Complemento a 2
SUMA: sumar los dos nmeros y descartar cualquier bit de acarreo
La suma de dos nmeros positivos da una nmero positivo:
00000111 7
+ 00000100 +4
00001011 11
La suma de un nmero positivo y un nmero negativo menor en valor absoluto da como
resultado un nmero positivo
00001111 15
+ 11111010 + -6
1 00001001 9
La suma de un nmero positivo y un nmero negativo mayor en valor absoluto o la suma de
dos nmeros negativos da como resultado un nmero negativo en complemento a 2:
00010000 16 11111011 -5
+11101000 + -24 + 11110111 + -9
11111000 -8 1 11110010 -14
Condicin de desbordamiento (overflow): 01111101 125
+ 00111010 +58
10110111 183
Dr. Oscar Ruano - 2011-2012 36
Resta complemento a 2
RESTA: la resta es una suma con el signo del sustraendo cambiado
El signo de un nmero binario positivo o negativo se cambia tomando su
complemento a 2
Para restar dos nmeros con signo, se calcula el complemento a 2 del
sustraendo y se suman
Cualquier bit de acarreo final se descarta
8 3 = 8 + (- 3) = 5 00001000 - 00000011
00001000 Minuendo (+8)
+11111101 Complemento a 2 del sustraendo (- 3)
1 00000101 Descartar acarreo
Dr. Oscar Ruano - 2011-2012 37
Multiplicacin complemento a 2
Suma directa:
La multiplicacin es equivalente a
sumar un mismo nmero el nmero de
veces que indique el multiplicador
01001101 multiplicando
00000100 multiplicador
01001101
+01001101
10011010
+01001101
11100111
+01001101
100110100
Productos parciales
Mismo signo signo positivo
Diferente signo, negativo
Algoritmo del mtodo
Determinar el signo que tendr el
producto
Poner cualquier nmero negativo en
formato real no complementado.
Generar los productos parciales
Sumar los productos parciales
Si el bit de signo que se haba
determinado en el paso 1 es negativo,
calcular el complemento a 2. Si es
positivo, dejar el producto en formato
real. Aadir el bit de signo al producto.
Dr. Oscar Ruano - 2011-2012 38
Ejemplos de Multiplicacin
Multiplicando: 0011
Multiplicador: 0011
Signo positivo
011
x011
011
011
1001
000
1001
Solucin: 0 1001
Multiplicando: 0011
Multiplicador: 1101
Signo negativo
011
x011
011
011
1001
000
1001
Solucin: 1 0111
Dr. Oscar Ruano - 2011-2012 39
Divisin complemento a 2
DIVISIN
Mismo signo signo positivo
Diferente signo, negativo
Ambos nmeros (dividendo divisor) deben estar en formato real
1. Determinar el signo que tendr el cociente. Inicializar el cociente a 0
2. Restar el divisor del dividendo utilizando la suma en complemento a 2 para
obtener el primer resto parcial, y SUMAR 1 AL COCIENTE. Si el resto parcial es
positivo, ir al paso 3. Si el resto parcial es 0 o negativo, la divisin ha terminado.
3. Restar el divisor del resto parcial y sumar 1 al cociente. Si el resultado es
positivo, repetir para el siguiente resto parcial. Si el resultado es 0 o negativo, la
divisin ha terminado.
Dr. Oscar Ruano - 2011-2012 40
Ejemplos de Divisin
Dividendo: 010101 =21
Divisor: 111001 = -7
El signo del cociente ser 1 (negativo)
Formato real del divisor: 000111
010101
+111001 cociente
1 001110 000000 + 000001= 000001
+111001
1 1 000111 000001 + 000001 = 000010
+111001
1 000000 000010 + 000001 = 000011
Cociente= 111101 signo negativo
Dr. Oscar Ruano - 2011-2012 41
Representacin exceso a Z
Un nmero binario representa su valor binario menos Z:
01010 en exceso 16 representa el nmero 10 16 = - 6
La representacin binaria de un nmero en exceso Z, se obtiene sumando
Z al nmero
Representacin de -6 en exceso 16 con 5 bits es 10: 01010
Representacin de -8 en exceso 16 con 5 bits es 8: 01000
Representacin de 8 en exceso 16 con 5 bits es 24: 10000
El rango de valores que se pueden representar con n bits en exceso 2
n-1
es:
[-2
n-1
, 2
n-1
- 1]
Dr. Oscar Ruano - 2011-2012 42
Nmeros reales: la notacin IEEE 754
Los computadores representan los nmeros en notacin cientfica
normalizada:
Todos los dgitos del nmero estn a la derecha de la coma decimal y el primer dgito a
la derecha de la coma decimal es diferente de cero
345,789 x 10
12
= 0.345789 x 10
15
Notacin exponencial, cientfica o en coma flotante: cualquier nmero
se puede representar de la forma:
N = M B
E
donde N es el nmero, M es la mantisa, B es la base y E es el exponente.
Esta representacin puede modificarse, conservando el valor de N, si se
reajustan adecuadamente M y E.
13257,3285 = 13257,3285 10
0
= 1,32573285 10
4
= 0,132573285 10
5
= 132573285 10
-4
Dr. Oscar Ruano - 2011-2012 43
Notacin IEEE 754
PRECISIN SIMPLE
La mantisa est representada como nmero binario con signo y el exponente en
exceso 127
Un nmero arbitrario queda representado entonces de la forma:
x = (-1)
sm
. (1,m
22.
...m
0
) . 2
(e7e0)
2
-127
Ejemplo: 1 10000001 01000000000000000000000
SM (signo mantisa) = 1
Exponente = (10000001)
2
= (129)
10
; al estar en exceso 127 le
restamos 127 para conocer el nmero que representa, igual a 2.
Mantisa = 1, 01000000000000000000000 = 1 + 1 x 2
-2
= 1,25
Resultado: -1,25 x 2
2
= -5
Dr. Oscar Ruano - 2011-2012 44
Cdigo decimal binario BCD: 8421
El cdigo decimal binario (BCD Binary Code Decimal) es utilizado para
expresar los diferentes dgitos decimales con un cdigo binario. Por
consiguiente, el cdigo BCD tiene diez grupos de cdigo y resulta prctico
para convertir entre decimal y BCD.
El cdigo 8421 pertenece al grupo de cdigos BCD. El nombre 8421 indica
los diferentes pesos de los cuatro bits binarios (2
3
, 2
2
, 2
1
, 2
0
).
6498
10
=(0110 0100 1001 1000)
8421
Dr. Oscar Ruano - 2011-2012 45
Suma en BCD
Sumar los dos nmeros BCD utilizando las reglas de la suma binaria
Si una suma de 4 bits es igual o menor que 9, es un nmero BCD vlido
Si la suma de 4 bits es mayor que 9, o si genera acarreo el resultado no es
vlido. En este caso se suma 6 (0110) al grupo de 4 bits para saltar as los
seis estados no vlidos. Si se genera un acarreo al sumar 6, ste se suma
al grupo de 4 bits siguiente.
0010 0011 1001 1001
+0001 0101 +0100 +1001
0011 1000 1101 no vlido 1 0010 no vlido
+0110 +0110
1 0011 1 1000
Dr. Oscar Ruano - 2011-2012 46
Cdigo Gray
Un nmero y el siguiente se diferencian en un solo bit. El que suele cambiar
es el menos significativo de los posibles.
Dr. Oscar Ruano - 2011-2012 47
Cdigo ASCII
(Caracteres de control)
Dr. Oscar Ruano - 2011-2012 48
Cdigo ASCII
(smbolos grficos 20h 3Fh)
Dr. Oscar Ruano - 2011-2012 49
Cdigo ASCII
(smbolos grficos 40h 5Fh)
Dr. Oscar Ruano - 2011-2012 50
Cdigo ASCII
(smbolos grficos 60h 7Fh)
Dr. Oscar Ruano - 2011-2012 51
Mtodo de paridad para deteccin de
errores
Un bit de paridad es un dgito binario que indica si el nmero de bits con
valor 1 en un conjunto de bits, es par o impar.
Hay dos tipos de bits de paridad: bit de paridad par y bit de paridad
impar.
El bit de paridad par se pone a 1 si el nmero de unos en un conjunto de bits es
impar, haciendo de esta forma que el nmero total de bits (datos+paridad) sea
par.
El bit de paridad impar se pone a 1 si el nmero de unos en un conjunto de bits
es par, haciendo de esta forma que el nmero total de bits (datos+paridad) sea
impar.
Dr. Oscar Ruano - 2011-2012 52
Cdigo Hamming de correccin
ENVO: CONSTRUCCIN DE CDIGO
Nmero de bits de paridad:
2
p
d + p + 1
Colocacin de los bits de paridad en el cdigo:
Bit1, bit2, bit3, bit4, bit5, bit6, bit7 ...
Los bits de paridad se sitan en las posiciones que son potencias de 2 en sentido
ascendente
EJEMPLO
Tamao palabra de datos: 4 bits (D
1
D
2
D
3
D
4
)
Nmero bits paridad/redundancia: 3 (P
1
P
2
P
3
)
Formato palabra codificada
P
1
P
2
D
1
P
3
D
2
D
3
D
4
Clculo valores bits de paridad:
p1 => p1 D1 D2 D4
p2 => p2 D1 D3 D4
p3 => p3 D2 D3 D4
Dr. Oscar Ruano - 2011-2012 53
Cdigo Hamming de correccin
RECEPCIN: COMPROBACIN
Palabra codificada que llega
Es necesario decodificar la palabra
se tienen que verificar bits paridad c
1
c
2
y c
4
Las formulas para verificar los bits de paridad son:
0 comprobacin correcta
1 comprobacin no correcta
e
1
=> c
1
c
3
c
5
c
7
e
2
=> c
2
c
3
c
6
c
7
e
4
=> c
4
c
5
c
6
c
7
Si (e
1
= e
2
= e
3
= 0) entonces
no hubo error en la transmisin
sino
error, el bit errneo corresponde al equivalente decimal de (e
3
e
2
e
1
)
2:
001: 1 101: 5
010: 2 110: 6
011: 3 111: 7
100: 4
c
1
c
2
c
3
c
4
c
5
c
6
c
7

También podría gustarte