Logo Studenta

sistemas binarios

¡Este material tiene más páginas!

Vista previa del material en texto

Sistemas de Numeración 
Operaciones - Códigos
Tema 2
1. Sistema decimal
2. Sistema binario
3. Sistema hexadecimal
4. Sistema octal
5. Conversión decimal binario
6. Aritmética binaria
7. Complemento a la base-1, Complemento a la base-2
8. Números con signo
9. Operaciones aritméticas de números con signo
10. Representación en Exceso
11. Representación interna: IEEE 754
12. Códigos digitales
13. Detección de errores y códigos de corrección
Dr. Oscar Ruano - 2011-2012 2
Sistemas posicionales de numeración
� ¿Qué es un sistema de numeración posicional?
1234,56 = 1·1000 + 2·100 + 3·10 + 4·1 + 5·0,1 + 6·0,01
� TEOREMA FUNDAMENTAL DE LA NUMERACIÓN
� La fórmula general para construir un número (cualqu ier número) N en un 
sistema de numeración posicional de base b es la siguiente:
Dr. Oscar Ruano - 2011-2012 3
Sistema decimal
� El sistema decimal es un sistema de numeración posicional , por lo que 
el valor del dígito depende de su posición dentro del número.
� Es sistema decimal usa diez dígitos para expresar los números 
� Base = {0,1,2,3,4,5,6,7,8,9} = base 10
� Teorema fundamental para sistemas decimales:
� La posición de cada dígito en un número decimal indica la magnitud de la 
cantidad representada y se asignan pesos:
� ENTEROS: ... 105 104 103 102 101 100
� FRACCIONARIOS: 102 101 100 , 10-1 10-2 10-3 ...
� El valor de un número decimal es la suma de los díg itos después de 
haber multiplicado cada dígito por su peso.
Dr. Oscar Ruano - 2011-2012 4
Sistema binarios
� El sistema binario es un sistema de numeración posicional al igual que el decimal 
visto con anterioridad.
� Únicamente emplea 2 dígitos (bits)
� Es un sistema de Base={0,1}=base 2
� Teorema fundamental para sistemas binarios: 
� El valor de un bit se determina por su posición dentro del número
� El bit más a la derecha es el bit menos significativo (LSB Least Significant Bit) en un 
número entero binario y su peso es de 20 = 1.
� El bit más a la izquierda es el bit más significativo (MSB Most Significant Bit) y su peso 
depende del tamaño del número binario. 
� ENTEROS: 2n-1…22 21 20
� FRACCIONARIOS: 2n-1…22 21 20 , 2-1 2-2 … 2-n
� En general con n bits podemos contar hasta un número igual a 2n-1
� n=5 ..................... 25-1 = 32 – 1 = 31
Dr. Oscar Ruano - 2011-2012 5
Sistema binario
Dr. Oscar Ruano - 2011-2012 6
Números hexadecimales
� Consta de 16 símbolos {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} base 16
� Los números tiene un valor de posición característico: sistema posicional
Dr. Oscar Ruano - 2011-2012 7
Números hexadecimales
Dr. Oscar Ruano - 2011-2012 8
Conversión decimal - hexadecimal
Método útil para convertir un decimal a binario, octal …
Dr. Oscar Ruano - 2011-2012 9
Conversión hexadecimal - decimal
Dr. Oscar Ruano - 2011-2012 10
Conversión binario - hexadecimal 
Dr. Oscar Ruano - 2011-2012 11
Conversión hexadecimal - binario
� Nota: sumar y restar igual que en complemento a 2
Dr. Oscar Ruano - 2011-2012 12
Números octales
� Consta de 8 símbolos {0, 1, 2, 3, 4, 5, 6, 7, 8} base 8
Dr. Oscar Ruano - 2011-2012 13
Conversión binario - octal
Dr. Oscar Ruano - 2011-2012 14
Conversión octal - binario
Dr. Oscar Ruano - 2011-2012 15
Conversión binario a decimal
� El valor decimal de cualquier número decimal binario puede hallarse 
sumando los pesos de todos los bits que están a 1 y descartando los pesos 
de todos los bits que son 0.
� Convertir el número entero binario 1101101 a decimal
� Convertir el número 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
Conversión decimal a binario
� Método de la suma de pesos
� Este método consiste en determinar el conjunto de pesos binarios cuya 
suma equivalga al número decimal. 
� Convertir el número 15310 a binario.
15310 = 27 + 24 + 23 + 20 = 128 + 16 +8 +1
15310= 100110012
� Método de la división sucesiva por 2 (método 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 más 
significativo (MSB) y el primero es el bit menos significativo (LSB). 
Dr. Oscar Ruano - 2011-2012 17
Conversión 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 101
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 10 0 1 00 0 1 10 1 0 0
Dr. Oscar Ruano - 2011-2012 19
Conversión de fracciones decimales a binario
� Suma de pesos
� Emplea la misma metodología de la suma de potencias de 2 pero se 
trabaja con potencias negativas. 
� Convertir el número 0,87510 a binario.
� 0,87510 = (2-1) + (2-2) + (2-3) = 0,5 + 0,25 + 0,125 = 0,1112
� Multiplicación sucesiva por 2
� La conversión de números decimales fraccionarios a binario se realiza 
con multiplicaciones sucesivas por 2. El número 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 multiplicación 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 número 0,87510 a binario.
Dr. Oscar Ruano - 2011-2012 20
Dr. Oscar Ruano - 2011-2012 21
Aritmética binaria: Suma
� Reglas fundamentales para la suma
0 + 0 = 0 Suma 0 con Suma 0 con acarreoacarreo 00
0 + 1 = 1 Suma 1 con Suma 1 con acarreoacarreo 00
1 + 0 = 1 Suma 1 con Suma 1 con acarreoacarreo 00
1 + 1 = 10 Suma 0 con Suma 0 con acarreoacarreo 11
Ejemplos:
010 + 101 = 111 210 + 510 = 710
001101 + 100101 = 110010 1310 + 3710 = 50100
Dr. Oscar Ruano - 2011-2012 22
Aritmética 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 710 – 510 = 210
10001 – 01010 = 00111 1710 – 1010 = 710
Comprobación: A – B = C ; C + B = A
Dr. Oscar Ruano - 2011-2012 23
Aritmética binaria: Multiplicación
� Reglas fundamentales para la multiplicación
La multiplicación binaria es tan 
sencilla como la decimal, y es 
que funcionan de la misma 
manera 
Ejemplo:
Dr. Oscar Ruano - 2011-2012 24
Aritmética binaria: División
� Reglas fundamentales para la división
11/1
00/1
No permitido1/0
No permitido0/0 El procedimiento de división continúa 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 número positivo N en base b con parte entera de n dígitos y una 
parte decimal de m dígitos, se define el complemento a b-1 de cómo :
Dr. Oscar Ruano - 2011-2012 28
Complemento a 1
� Representaciones importates ya que nos permiten representar números 
negativos.
� La aritmética en complemento a 2 se usa en las computadores para 
manipular números negativos.
� Cálculo del complemento a 1
� El complemento a 1 de un número binario se halla cambiando todos los 1s por 0s 
y todos los 0s por 1s
10110010 01001101
� La forma más sencilla de obtener el complemento a 1 de una número binario 
mediante un circuito digital es utilizando inversores en paralelo (circuitos NOT)
Dr. Oscar Ruano - 2011-2012 29
Complemento a la BASE
� Dado un número positivo N en base b con parte entera de N dígitos, se 
define el complemento a b de N como:
Dr. Oscar Ruano - 2011-2012 30
Complemento a 2
� El complemento a 2 de un número binario se obtiene sumando 1 al LSBdel complemento a 1.
nº binario: Complemento a 1 + 1 = Complemento a 2 
10110010: 01001101 + 1 = 01001110
� Método alternativo:
1. Se empieza por la derecha con el LSB y se escriben los bits como están 
hasta encontrar el primer 1, incluido este.
2. Se calcula el complemento a 1 de los bits restantes .
Dr. Oscar Ruano - 2011-2012 31
Números con signo
� Formatos binarios para representar números enteros con signo:
� Signo-magnitud
� Complemento a 1
� Complemento a 2
� Bit de signo
� El bit mas a la izquierda de un número binario con signo es el bit de signo , que 
indica si el número es positivo o negativo.
Un bit de signo 0 indica que es un número positivo 
Un bit de signo 1 indica que es un número negativo.
Dr. Oscar Ruano - 2011-2012 32
Formatos
� SIGNO-MAGNITUD
� En el formato signo-magnitud, un número negativo tiene los mismo bits de magnitud que el 
correspondiente número positivo, pero el bit de signo es un 1 en lugar de un 0.
0 0011001 +25 || 1 0011001 -25
� COMPLEMENTO A 1 :
� Números positivos: misma forma que los números positivos en signo-magnitud
� Números negativos: son el complemento a 1 del correspondiente número positivo.
� Ejemplo:
+25 (00011001)
-25 (11100110)
� COMPLEMENTO A 2 :
� Números positivos: misma forma que los números positivos en signo-magnitud y de 
complemento a 1.
� Número negativos: son el complemento a 2 del correspondiente número positivo
� Ejemplo:
+25 (00011001)
-25 (11100111)
Signo magnitud Signo magnitud
Dr. Oscar Ruano - 2011-2012 33
El valor decimal de los números 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 número 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 números con signo: se requiere una adición de 
pesos independientemente de que el número sea positivo o negativo
Dr. Oscar Ruano - 2011-2012 34
Rango de representación de los números 
enteros con signo
� El rango de magnitud de un número binario depende del número de 
bits (n)
� 8 bits (byte) 256 números diferentes
� 16 bits 65536 números diferentes Nº total de combinaciones = 2n
� 32 bits 4,295 x 109
� Números con signo en signo-magnitud
Rango = - (2 n-1 -1) hasta + ( 2n-1 -1)
� Números con signo en complemento a 2
Rango = - (2n-1) hasta + ( 2n-1 -1)
Dr. Oscar Ruano - 2011-2012 35
Suma: Complemento a 2
� SUMA: sumar los dos números y descartar cualquier bi t de acarreo
� La suma de dos números positivos da una número positivo:
00000111 7
+ 00000100 +4
00001011 11
� La suma de un número positivo y un número negativo menor en valor absoluto da como 
resultado un número positivo
00001111 15
+ 11111010 + -6
1 00001001 9
� La suma de un número positivo y un número negativo mayor en valor absoluto o la suma de 
dos números negativos da como resultado un número negativo en complemento a 2:
00010000 16 11111011 -5
+11101000 + -24 + 11110111 + -9 
11111000 -8 1 11110010 -14
� Condición 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 sustra endo cambiado
� El signo de un número binario positivo o negativo se cambia tomando su 
complemento a 2
� Para restar dos números 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
Multiplicación complemento a 2
Suma directa:
La multiplicación es equivalente a
sumar un mismo número el número 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 método
� Determinar el signo que tendrá el 
producto
� Poner cualquier número negativo en 
formato real no complementado.
� Generar los productos parciales
� Sumar los productos parciales
� Si el bit de signo que se había 
determinado en el paso 1 es negativo, 
calcular el complemento a 2. Si es 
positivo, dejar el producto en formato 
real. Añadir el bit de signo al producto.
Dr. Oscar Ruano - 2011-2012 38
Ejemplos de Multiplicación
� Multiplicando: 0011
� Multiplicador: 0011
� Signo positivo
011
x011
011
011 
1001
000
1001
Solución: 0 1001
� Multiplicando: 0011
� Multiplicador: 1101
� Signo negativo
011
x011
011
011 
1001
000
1001
Solución: 1 0111
Dr. Oscar Ruano - 2011-2012 39
División complemento a 2
� DIVISIÓN
� Mismo signo signo positivo
� Diferente signo, negativo
� Ambos números (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 división 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 
división ha terminado.
Dr. Oscar Ruano - 2011-2012 40
Ejemplos de División
� 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
11 000111 000001 + 000001 = 000010
+111001
1 000000 000010 + 000001 = 000011
Cociente= 111101 signo negativo
Dr. Oscar Ruano - 2011-2012 41
Representación exceso a Z
� Un número binario representa su valor binario menos Z:
� 01010 en exceso 16 representa el número 10 – 16 = - 6
� La representación binaria de un número en exceso Z, se obtiene sumando
Z al número
� Representación de -6 en exceso 16 con 5 bits es 10: 01010
� Representación de -8 en exceso 16 con 5 bits es 8: 01000
� Representación de 8 en exceso 16 con 5 bits es 24: 10000
El rango de valores que se pueden representar con n bits en exceso 2n-1 es:
[-2n-1, 2n-1 - 1]
Dr. Oscar Ruano - 2011-2012 42
Números reales: la notación IEEE 754
� Los computadores representan los números en notación científica 
normalizada:
Todos los dígitos del número están a la derecha de la coma decimal y el primer dígito a 
la derecha de la coma decimal es diferente de cero
345,789 x 1012 = 0.345789 x 1015
� Notación exponencial, científica o en coma flotante : cualquier número 
se puede representar de la forma: 
N = ± M · BE
� donde N es el número, M es la mantisa, B es la base y E es el exponente. 
Esta representación puede modificarse, conservando el valor de N, si se 
reajustan adecuadamente M y E.
13257,3285 = 13257,3285 · 100 = 1,32573285 · 104 = 0,132573285 · 105 = 132573285 · 10-4
Dr. Oscar Ruano - 2011-201243
Notación IEEE 754
� PRECISIÓN SIMPLE
� La mantisa está representada como número binario con signo y el exponente en 
exceso 127
Un número arbitrario queda representado entonces de la forma:
x = (-1)sm . (1,m22....m0) . 2(e7…e0)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 número que representa, igual a 2.
Mantisa = 1, 01000000000000000000000 = 1 + 1 x 2-2 = 1,25
Resultado: -1,25 x 22 = -5
Dr. Oscar Ruano - 2011-2012 44
Código decimal binario BCD: 8421
� El código decimal binario (BCD Binary Code Decimal) es utilizado para 
expresar los diferentes dígitos decimales con un có digo binario . Por 
consiguiente, el código BCD tiene diez grupos de código y resulta práctico 
para convertir entre decimal y BCD.
� El código 8421 pertenece al grupo de códigos BCD. El nombre 8421 indica 
los diferentes pesos de los cuatro bits binarios (23, 22, 21, 20).
649810 =(0110 0100 1001 1000)8421
Dr. Oscar Ruano - 2011-2012 45
Suma en BCD
� Sumar los dos números BCD utilizando las reglas de la suma binaria
� Si una suma de 4 bits es igual o menor que 9, es un número BCD válido
� Si la suma de 4 bits es mayor que 9, o si genera acarreo el resultado no es 
válido. En este caso se suma 6 (0110) al grupo de 4 bits para saltar así los 
seis estados no válidos. 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 válido 1 0010 no válido
+0110 +0110
1 0011 1 1000
Dr. Oscar Ruano - 2011-2012 46
Código Gray
� Un número 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
Código ASCII 
(Caracteres de control)
Dr. Oscar Ruano - 2011-2012 48
Código ASCII 
(símbolos gráficos 20h – 3Fh)
Dr. Oscar Ruano - 2011-2012 49
Código ASCII 
(símbolos gráficos 40h – 5Fh)
Dr. Oscar Ruano - 2011-2012 50
Código ASCII 
(símbolos gráficos 60h – 7Fh)
Dr. Oscar Ruano - 2011-2012 51
Método de paridad para detección de 
errores
� Un bit de paridad es un dígito binario que indica si el número 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 número de unos en un conjunto de bits es 
impar, haciendo de esta forma que el número total de bits (datos+paridad) sea 
par. 
� El bit de paridad impar se pone a 1 si el número de unos en un conjunto de bits 
es par, haciendo de esta forma que el número total de bits (datos+paridad) sea 
impar.
Dr. Oscar Ruano - 2011-2012 52
Código Hamming de corrección
� ENVÍO: CONSTRUCCIÓN DE CÓDIGO
� Número de bits de paridad:
� 2p ≥ d + p + 1
� Colocación de los bits de paridad en el código:
� Bit1, bit2, bit3, bit4, bit5, bit6, bit7 ...
� Los bits de paridad se sitúan en las posiciones que son potencias de 2 en sentido 
ascendente
� EJEMPLO
� Tamaño palabra de datos: 4 bits (D1D2D3D4)
� Número bits paridad/redundancia: 3 (P1P2P3)
� Formato palabra codificada
P
1
P
2
D
1
P
3
D
2
D
3
D
4Cálculo 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
Código Hamming de corrección
� RECEPCIÓN: COMPROBACIÓN
� Palabra codificada que llega
� Es necesario decodificar la palabra
� se tienen que verificar bits paridad c1c2 y c4
� Las formulas para verificar los bits de paridad son : 
� 0 comprobación correcta
� 1 comprobación no correcta
e1 => c1 c3 c5 c7
e2 => c2 c3 c6 c7
e4 => c4 c5 c6 c7
Si (e1 = e2 = e3 = 0) entonces
no hubo error en la transmisión
sino
error, el bit erróneo corresponde al equivalente decimal de (e3e2e1)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

Continuar navegando

Contenido elegido para ti

124 pag.
20 pag.
sistemas numericos

User badge image

Cesar Rueda

121 pag.
34 pag.
Sistemas de numeracion

SIN SIGLA

User badge image

mpcasco