Sistemas Digitales 1 Ph.D. Edwin Valarezo Añazco Objetivos Al finalizar esta sesión el estudiante será capaz de: • Conocer los sistemas de numeración utilizados en sistemas digitales. • Aprender a hacer conversiones de distintas bases. • Conocer casos especiales de conversiones de bases. 1.1 Sistemas numéricos binarios, Octal y Hexadecimal Definición: ( )10 Un sistema de numeración es un conjunto ordenado de símbolos llamados dígitos con leyes definidas para la suma y resta. Base del sistema: Número de dígitos que tiene el sistema. • Sistema binario: 2 dígitos • Sistema octal: 8 dígitos • Sistema Hexadecimal: 16 dígitos • Sistema decimal: 10 dígitos Ejemplos de Sistemas Numéricos Los números se representan en cualquier sistema de numeración de dos formas Notación Posicional y Notación Polinomial. Notación Posicional: Implica la colocación de dígitos a ambos lados del punto base, por ende sus posiciones no se pueden alterar r = Base del Sistema. a = Los dígitos del set. n = Número de dígitos en la parte entera m = Número de dígitos en la parte fraccionaria ππ−1 = Dígito más significativo MSB π−π = Dígito menos significativo LSB Ejemplo: ( 234.12)10 = Los números se representan en cualquier sistema de numeración de dos formas Notación Posicional y Notación Polinomial. Notación Polinomial: Se expresa como una sumatoria de los dígitos multiplicada por un factor que es la base elevada a un exponente. Ejemplo: ( 110.01)2 = ( 217.61)8 = ( π΅1π΄. πΉ1)16 = 1.2 Conversión de Sistemas Numéricos Método de sustitución directa: Ejemplo: ( 14)10 ( 14)10 = ( 1110)2 = ( 16)8 = ( πΈ)16 Método por Sustitución: Cualquier base a base 10. ( π)π΄ → ( π)π΅ ; B=10 Ejemplo: • Notación polinomial de ( π)π΄ • Utilizar aritmética de la base B 1.2 Conversión de Sistemas Numéricos Método de sustitución directa: Ejemplo: ( 14)10 ( 14)10 = ( 1110)2 = ( 16)8 = ( πΈ)16 Método por Sustitución: Cualquier base a base 10. ( π)π΄ → ( π)π΅ ; B=10 • Notación polinomial de ( π)π΄ • Utilizar aritmética de la base B 1.2 Conversión de Sistemas Numéricos Método por Multiplicaciones y Divisiones Sucesivas: De base 10 a cualquier base. ( π)π΄ → ( π)π΅ ; A=10 Parte Entera 1. Dividir (N)A para la base B, usando aritmética de la base A. 2. El residuo de la división es el LSB de la respuesta. 3. El cociente se vuelve a dividir para B usando aritmética de la base A y el nuevo residuo es el siguiente dígito más significativo. 4. Aplicamos divisiones sucesivas hasta que el cociente sea cero. 1.2 Conversión de Sistemas Numéricos Método por Multiplicaciones y Divisiones Sucesivas: Ejemplo ( 249)10 = ( ? )2 1.2 Conversión de Sistemas Numéricos Método por Multiplicaciones y Divisiones Sucesivas: Ejemplo ( 249)10 = ( ? )16 1.2 Conversión de Sistemas Numéricos Método por Multiplicaciones y Divisiones Sucesivas: De base 10 a cualquier base. ( π)π΄ → ( π)π΅ ; A=10 Parte Fraccionaria 1. Multiplicar ( π)π΄ por la base B usando aritmética de la base A. 2. Separamos la parte entera que es el MSB de la respuesta. 3. Repetir las multiplicaciones tantas veces como dígitos fraccionarios deseemos o hasta que el resultado sea igual a cero. 1.2 Conversión de Sistemas Numéricos Método por Multiplicaciones y Divisiones Sucesivas: Ejemplo ( 249.84)10 = ( 11111001. ? )2 1.2 Conversión de Sistemas Numéricos Método por Multiplicaciones y Divisiones Sucesivas: Ejemplo ( 249.84)10 = ( ? )2 Método General 1.2 Conversión de Sistemas Numéricos Casos Especiales: A y B potencias de una misma base. ( π)π΄ → ( π)π΅ ; B = π΄π / A = π΅π Caso 1: B = π΄π 1. Formamos grupos de “n” dígitos a partir del punto. 2. Cada dígito se sustituye por el correspondiente dígito en base B. 1.2 Conversión de Sistemas Numéricos Casos Especiales: A y B potencias de una misma base. ( π)π΄ → ( π)π΅ ; B = π΄π / A = π΅π Caso 2: A = π΅π 1. Remplazar cada dígito ( π)π΄ por sus “n” dígitos equivalentes en base B. Método General en Potencias de la Misma Base B = π΄π / A = π΅π Método General en Potencias de la Misma Base B = π΄π / A = π΅π Ejemplo: ( 45.4)8 = (? )16 ( 25.8)16 = (? )8 1.3 Sumas y Restas de Números en Diferentes Bases Operaciones Aritméticas: Suma Binaria 1 + 1 ___ 2 2 ___ 10 Si es mayor a la base resto la base 1.3 Sumas y Restas de Números en Diferentes Bases 1.3 Sumas y Restas de Números en Diferentes Bases Operaciones Aritméticas: Resta Binaria • Si el minuendo tiene menor valor que el sustraendo, sumo la base y resto uno en el siguiente termino - 1 +2 1.3 Sumas y Restas de Números en Diferentes Bases Operaciones Aritméticas: 1.4 Representación de Números Negativos Bit de signo: • El más significativo frecuencia). • 0=+ / 1=- (cambia con menor 0 • Invertimos los bits (not) y sumamos uno 1.5 Complementos de Números Complemento a 2 Método 1: • De derecha a izquierda escribo igual los números binarios hasta encontrar el primer “1”, éste queda igual e invertimos el resto. 1.5 Complementos de Números Complemento a 2 Método 2: • Invertimos todo el número (Complemento a uno). • Sumamos “1” al LSB. 1.5 Complementos de Números Complemento a 2 (números negativos) • Números positivos: ( 0, … … … )2πππ Magnitud binaria del número (n-1) • Números negativos: ( 1, … … … ) Complemento a “2” del número (n-1) n número de dígitos incluido el bit de signo. 0 1. Llevo la cantidad a binario. 2. Agrego ceros hasta que la cantidad llegue a n-1. 3. Si la cantidad es negativa obtengo el complemento a 2. 1.5 Complementos de Números 1.5 Operaciones con Complementos Cuando no me tengo información de la dimensión n (número de bits): • 1 bit de signo • M número bits del digito con mas bits. • 1 bit de seguridad 1.5 Operaciones con Complementos + 1.5 Operaciones con Complementos 1.5 Operaciones con Complementos + 1.6 Códigos binarios de números decimales, código Gray, códigos alfanuméricos, códigos de detección de error en la transmisión y almacenamiento de datos Definición: • Conjunto de símbolos que representan información. Códigos Binarios: • Los símbolos a utilizar son dígitos binarios. Código BCD (Decimal codificado en binario): 2π = Número de combinaciones n= Número de dígitos del código. 1 byte => 8 bits 1 word => 2 byte = 16 bits 1 nibble => 4 bits • Cada dígito decimal se representa por su equivalente en 4 dígitos binarios. 1.6 Códigos Binarios de Números Decimales Código NBCD (BCD natural o simplemente BCD): • Los dígitos decimales se representan por sus correspondientes en base dos. Operaciones: EL método directo consiste en convertir los códigos a un sistema numérico y entonces realizar la operación. 1.6 Códigos Binarios de Números Decimales Convertir el número decimal: 9673 a BCD 1.6 Códigos Binarios de Números Decimales Suma en BCD: 1. Realizar la suma binaria normalmente. 2. Si la suma de los 4 bits es menor o igual a 9, es un número BCD válido. 3. Si la suma de los 4 bits es mayor a 9 o si se genera un carry fuera del grupo de los 4 bits, es un resultado inválido. • Añadir 6 (0110) a la suma de 4 bits para evitar los 6 estados inválidos. • Si resulta un carry cuando se suma el 6, simplemente añada el carry al siguiente grupo de 4 bits. Debido a que faltan los correspondientes binarios de los decimales entre 10 y 15 1.6 Códigos Binarios de Números Decimales Suma en BCD: 1.6 Códigos Binarios de Números Decimales Suma en BCD: 1.6 Códigos Binarios de Números Decimales Suma en BCD: 1.6 Códigos Binarios de Números Decimales Suma en BCD: 1.6 Códigos Binarios de Números Decimales Suma en BCD: 1.6 Códigos Binarios de Números Decimales Suma en BCD: 1.6 Código Exceso de 3 Código BCD sumando 3 a cada digito Auto complementario (Complemento a 1) • Utiliza 4 bits para representar los números decimales del 0 al 9. • Deriva su nombre del hecho de que cada representación decimal en el código Exceso 3 es mayor que el código BCD por 3. • Es un código sin pesos. • Se utiliza en algunas computadoras antiguas Ejemplo: 1.6 Código Gray Códigos de Distancia Unitaria Esta propiedad existe cuando entre un elemento del código y su consecutivo, sólo cambia 1 bit. Se basa en la forma en que está construido el código. Ayudan a eliminar el efecto transicional o de la transición. Código Gray, Es un código de distancia unitaria estándar. Conversión De Binario a Gray: Colocar un “0” a lado del MSB y de izquierda a derecha realizar EXOR entre los bits adyacentes. 1.6 Código Gray Conversión de Gray a Binario: Método 1: Desde la izquierda, busco el primer 1 y lo escribo igual, luego sigo escribiendo unos hasta encontrar otro 1 y cambio a cero y sigo escribiendo ceros hasta encontrar otro 1 y así sucesivamente. El “1” actúa como pivote de cambio de la tendencia. Método 2: • Conservo el primer uno • Operación XOR entre el valor actual y el digito a convertir (Gray). 1.6 Código Gray Códigos Binario Vs Gray Código Gray tiene distancia unitaria 1.6 Código Gray Convertir código Gray a BCD o XS3? 1011 1.6 Código Gray Convertir código Gray a BCD o XS3? Gray 1011 Binario Decimal BCD – XS3 1.6 Códigos Alfanuméricos Sirven para representar “caracteres” usados en la representación idiomática. ASCII (American Standar Code for Information Interchange) • Universalmente aceptado • Utilizado en la mayoría de las computadoras y otros equipos electrónicos • La mayoría de los teclados de computadora están estandarizados con el código ASCII 1.6 Códigos Alfanuméricos 1.6 Códigos Alfanuméricos 1.6 Códigos Alfanuméricos 1.6 Códigos Alfanuméricos EBDIC ( Extended Binary Decimal Interchange Code) 8 dígitos. • 128 caracteres adicionales que IBM adopto para uso en sus PCs. • Debido a la popularidad de la PC, estos caracteres ASCII extendidos se han utilizado en otras aplicaciones aparte de las PCs y se han convertido en un estándar no oficial. • Los caracteres de ASCII Extendido son representados por un código de 8 bits (de 80 a FF hexadecimal) EBDIC, contiene caracteres en las siguientes categorías generales 1. Caracteres alfabéticos no ingleses 5. Caracteres para gráficos. 2. Símbolos de moneda no ingleses 6. Caracteres para gráficos de barras. 3. Letras griegas 7. Caracteres sombreados 4. Símbolos matemáticos 1.6 Códigos Alfanuméricos 1.6 Código de Detección de Errores Se caracteriza por la forma que se construye. Evita errores en las transmisiones digitales. Paridad Par: Paridad Impar: Un bit de paridad par se agrega de tal manera que el número de “1” totales sea par. Un bit de paridad impar se agrega de tal manera que el número de “1” totales sea impar. 1.6 Código de Detección de Errores Ejemplos de Paridad Par / Impar. Consultas o Comentarios