Descarga la aplicación para disfrutar aún más
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
Compartir