Ejercicios: Bases Numéricas y Álgebra de Boole Dr. Andrés David García García Departamento de Mecatrónica Escuela de Ingeniería y Ciencias Recordatorio: Relación entre bases 2 4 8 16 0000 0 0 0 0001 1 1 1 0010 2 2 2 0011 3 3 3 0100 10 4 4 0101 11 5 5 0110 12 6 6 𝑖 0111 13 7 7 0 1000 20 10 8 1001 21 11 9 1010 22 12 A 1011 23 13 B 1100 30 14 C 1101 31 15 D 1110 32 16 E 1111 33 20 F • Las bases 4, 8 y 16 emanan de la base 2. • El equivalente en decimal se obtiene utilizando la función: 𝑁10 = 𝑆𝑦𝑚𝑖 ∗ 𝐵𝑎𝑠𝑒 𝑖 ▪ N10 es el número convertido a decimal ▪ Symi es cada uno de los símbolos del número a convertir a decimal y su posición. ▪ Base es la base de origen del número a convertir a decimal ▪ El subíndice i es la posición de cada símbolo ▪ Positivo: de derecha a izquierda (parte entera) ▪ Negativo: de izquierda a derecha (fracción) 2 Relación entre las bases • La base 4, 8 y 16, al ser potencias de 2, tienen una relación directa con la base 2. • Observando la tabla de la página anterior podemos percatarnos de esta relación: • Base 4: vectores de 2 bits. Universo de valores {“00”, “01”, “01”, “11”} • Base 8: vectores de 3 bits. Universo de valores {“000”, “001”, “001”, “011”, “100”, “101”, “101”, “111”} • Base 16: vectores de 4 bits. Universo de valores {“0000”, “0001”, “0001”, “0011”, “0100”, “0101”, “0101”, “0111”, “1000”, “1001”, “1001”, “1011”, “1100”, “1101”, “1101”, “1111”} 3 Ejemplo: Binario - Base 4 “110110”b = ?4 “11” “01” “10” “3”, “1”, “2” 3124 “10010”b = ?4 “01” “00” “10” “1”, “0”, “2” 1024 “110.10”b = ?4 “01” “10”. “10” “1”, “2”, “2” 12.24 312 4 = ? b “3” “1” “2” “11”, “01”, “10” 110110b 21.3 4 = ? b “2” “1”. “3” “10”, “01”, “11” 1001.11b 4 Ejemplo: Binario - Base 8 “101110”b = ?4 “101” “110” “5”, “6” 56O “1110010”b = ?O “001” “110” “010” “1”, “6”, “2” 162O “11010.10”b = ?O “011” “010”. “100” “3”, “2”, “4” 32.4O 714 O = ? b 261.6 O = ? b “7” “1” “4” “2” “6” “1”. “6” “111” “001” “100” “010”, “110”, “001”.”110” 111001100b 10110001.11b 5 Ejemplo: Binario - Base 16 “11011001”b = ?h “1101” “1001” “D”, “9” D9h “1011010”b = ?h “0101” “1010” “5”, “A” 5Ah “110110.101”b = ?h “0011” “0110”. “1010” “3”, “6”, “A” 36.Ah C14 h = ? b 3B.C h = ? b “C” “1” “4” “1100” “0001” “0100” “3” “B” . “C” “0011”, “1011” . ”1100” 110000010100b 111011.11b 6 Conversión entre bases • ¿Cómo convertir entre distintas bases? • Ejemplo: Convertir “C43.B”h a Octal • Solución más simple: Convertir primero a Binario. • • • • C => “1100” 4 => “0100” 3 => “0011” B => “1011” “110 001 000 011.101 100” “110001000011.1011” 6 1 0 3 5 4 “6103.54”O 7 Convertir a Decimal • Pasar de cualquiera de las bases en potencia de 2, a base decimal, se tiene que hacer utilizando la función genérica: 𝑖 𝑁10 = 𝑆𝑦𝑚𝑖 ∗ 𝐵𝑎𝑠𝑒 𝑖 0 • Por ejemplo, para la base 4: 𝑁10 = 𝐶𝑁 ∗ 4𝑛 + ⋯ + 𝐶3 ∗ 43 + 𝐶2 ∗ 42 + 𝐶1 ∗ 41 + 𝐶0 ∗ 40 • Para la base 16: 𝑁10 = 𝐶𝑁 ∗ 16𝑛 + ⋯ + 𝐶3 ∗ 163 + 𝐶2 ∗ 162 + 𝐶1 ∗ 161 + 𝐶0 ∗ 160 8 Convertir a Decimal • Considerando la función genérica: 𝑖 𝑁10 = 𝑆𝑦𝑚𝑖 ∗ 𝐵𝑎𝑠𝑒 𝑖 0 • Para la base 2: 𝑁10 = 𝐶𝑁 ∗ 2𝑛 + ⋯ + 𝐶3 ∗ 23 + 𝐶2 ∗ 22 + 𝐶1 ∗ 21 + 𝐶0 ∗ 20 • Los coeficientes son conocidos: 212 211 210 29 4096 2048 1024 512 28 27 26 25 24 23 22 21 20 256 128 64 32 16 8 4 2 1 • Y recordemos que los valores de cada elemento “C” del número en binario solo pueden tomar 2 valores {‘0’, ‘1’} 9 Convertir a Decimal • Entonces, para convertir un número de Binario a Decimal: • Ejemplo:”11011101”b • Colocaremos los valores ‘0’ y ‘1’ en la casilla que corresponda: 212 211 210 29 4096 2048 1024 512 • Y sumamos: 128 64 16 + 8 4 1 28 27 26 25 24 23 22 21 20 256 128 64 32 16 8 4 2 1 1 1 0 1 1 1 0 1 221d Podremos entonces utilizar la base 2 para convertir números en base 4, 8 y 16 a decimal. 10 Convertir de Octal a Decimal • Ejemplo: “261”O • Primero convertimos a binario: “010110001” “010 110 001” • Posteriormente convertimos a decimal: 212 211 210 29 4096 2048 1024 512 • Y sumamos: 128 + 32 16 1 28 27 26 25 24 23 22 21 20 256 128 64 32 16 8 4 2 1 0 1 0 1 1 0 0 0 1 177d 11 Convertir de Hexadecimal a Decimal • Ejemplo: “B1C”h • Primero convertimos a binario: “101100011100” “1011 0001 1100” • Posteriormente convertimos a decimal: 212 211 210 29 4096 2048 1024 512 1 • Y sumamos: 0 2048 512 + 256 16 8 4 1 28 27 26 25 24 23 22 21 20 256 128 64 32 16 8 4 2 1 1 0 0 0 1 1 1 0 0 2844d 12 Convertir cifras con punto decimal • Considerando la función genérica: 𝑖 𝑁10 = 𝑆𝑦𝑚𝑖 ∗ 𝐵𝑎𝑠𝑒 𝑖 0 • Para la base 2 (de izquierda a derecha): 𝑁10 = 𝐶−1 ∗ 2−1 + 𝐶−2 ∗ 2−2 + 𝐶−3 ∗ 2−3 + 𝐶−4 ∗ 2−4 + ⋯ + 𝐶−𝑁 ∗ 2−𝑁 • Los coeficientes son conocidos: 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 0.5 0.25 0.125 0.0625 0.03125 0.015625 0.0078125 0.00390625 • Y recordemos que los valores de cada elemento “C” del número en binario solo pueden tomar 2 valores {‘0’, ‘1’} 13 Convertir de Binario con punto a Decimal • Ejemplo: “0.1011”b • Revisamos las casillas con un ‘1’: 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 0.5 0.25 0.125 0.0625 0.03125 0.015625 0.0078125 0.00390625 1 0 1 1 • Y sumamos: 0.5 + 0.125 0.0625 0.6875d 14 Convertir de Octal a Decimal con punto • Ejemplo: “26.3”O • Primero convertimos a binario: “010110.011” “010 110 . 011” • Posteriormente convertimos a decimal: 27 26 25 24 23 22 21 20 2-1 2-2 128 64 32 16 8 4 2 1 0.5 0.25 0 1 0 1 1 0 0 1 • Y sumamos: 16 + 4 2 22d 0.25 + 0.125 0.375d 2-3 2-4 0.125 0.0625 1 22.375d 15 Convertir de HEX a Decimal con punto • Ejemplo: “2A.B”O • Primero convertimos a binario: “00101010.1011” “0010 1010 . 1011” • Posteriormente convertimos a decimal: 27 26 25 24 23 22 21 20 2-1 2-2 128 64 32 16 8 4 2 1 0.5 0.25 0 0 1 0 1 0 1 0 1 0 • Y sumamos: 32 + 8 2 42d 0.5 0.125 + 0.0625 0.6875d 2-3 2-4 0.125 0.0625 1 1 42.6875d 16 Convertir de decimal a binario • El método de divisiones sucesivas: • Convertir 284d a Binario 𝑋𝑏 = 2 284 28 1 2 2 0 2 2 2 0 4 2 8 0 8 2 17 1 17 2 35 1 20 21 22 23 24 25 26 35 2 71 1 71 2 142 0 142 2 284 0 𝑋𝑏 = 100011100 27 17 Convertir de decimal a Octal • El método de divisiones sucesivas: • Convertir 381d a Octal 𝑋𝑂 = 8 381 82 5 8 47 7 47 8 381 5 80 81 𝑋𝑂 = 575 18 Axiomas del Álgebra de Boole 1a: ‘0’ • ‘0’ = ‘0’ 1b: ‘1’ + ‘1’ = ‘1’ 2a: ‘1’ • ‘1’ = ‘1’ 2b: ‘0’ + ‘0’ = ‘0’ 3a: ‘0’ • ‘1’ = ‘1’ • ‘0’ = ‘0’ 3b: ‘1’ + ‘0’ = ‘0’ + ‘1’ = ‘1’ 4a: si X = ‘0’, entonces /X = ‘1’ 4b: si X = ‘1’, entonces /X = ‘0’ 5a: X • ‘0’ = ‘0’ 5b: X + ‘1’ = ‘1’ 6a: X • ‘1’ = X 6b: X + ‘0’ = X 7a: X • X = X 7b: X + X = X 8a: X • /X = ‘0’ 8b: X + /X = ‘1’ 9 : //X = X ➢ Teorema de Morgan: 15a: /(X • Y) = /X + /Y 15b: /(X + Y) = /X • /Y 16a: X + (/X • Y) = X + Y 16b: X • (/X + Y) = X • Y ➢ Propiedad conmutativa: 10a: X • Y = Y • X 10b: X + Y = Y + X ➢ Propiedad asociativa: 11a: X • (Y • Z) = (Y • X) • Z 11b: X + (Y + Z) = (Y + X) + Z ➢ Propiedad distributiva: 12a: X • (Y + Z) = (X • Y) + (X • Z) 12b: X + (Y • Z) = (X + Y) • (X + Z) ➢ Propiedad de absorción: 13a: X + (X • Y) = X 13b: X • (X + Y) = X ➢ Propiedad de combinación: 14a: (X • Y) + (X • /Y) = X 14b: (X + Y) • (X + /Y) = X 19 Compuertas lógicas • Relaciones entre compuertas lógicas y sus negados: A B A B Z Z A B Z 0 0 0 0 1 1 1 0 1 1 1 1 1 B Z A B Z 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 1 0 0 1 1 0 1 1 0 A B Z 0 0 0 0 1 0 1 0 0 1 1 A A B A B Z Z 20 Compuertas lógicas • Relaciones entre compuertas lógicas y sus negados: A B Z A B Z A B Z 0 0 0 0 0 1 0 1 1 0 1 0 1 0 1 1 0 0 1 1 0 1 1 1 A B Z 21 Principio de Dualidad y Teorema de Morgan • Justificación: A B A B Z Z A B Z A B Z 0 0 1 0 0 1 0 1 1 0 1 0 1 0 1 1 0 0 1 1 0 1 1 0 A B Z A B Z 0 0 1 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 0 A B A B Z Z 22 Las compuertas lógicas como Switches Sel Sel Sel A Z 0 0 0 0 1 0 1 0 0 1 1 1 Z A Si Sel = ‘0’; Z = ‘0’ Si Sel = ‘1’; Z = A Z A Si Sel = ‘0’; Z = A Si Sel = ‘1’; Z = ‘1’ Sel A Z 0 0 0 0 1 1 1 0 1 1 1 1 Sel Nota: Al comparar el funcionamiento de la AND con el de la OR, se puede comprobar el principio de dualidad. Z A Si Sel = ‘0’; Z = A Si Sel = ‘1’; Z = /A Sel A Z 0 0 0 0 1 1 1 0 1 1 1 0 Selecciona entre A, o /A 23 Ejercicios • Simplificación de funciones: 𝑍 = 𝐴∙𝐵∙𝐷+𝐴∙𝐵∙𝐷 𝑍 = 𝐴 ∙ 𝐵 ∙ (𝐷 + 𝐷) Teorema 8b 𝑍 = 𝐴 ∙ 𝐵 ∙ (′1′) 𝑍 = 𝐴∙𝐵 Tocci/Widmer/Moss. Sistemas Digitales, principios y aplicaciones. 10ª Edición. 24 Ejercicios • Simplificación de funciones: 𝑍 = 𝐴∙𝐶∙𝐷+𝐴∙𝐵∙𝐶∙𝐷 𝑍 = 𝐶 ∙ 𝐷 ∙ (𝐴 + 𝐴 ∙ 𝐵) Teorema 16a 𝑍 = 𝐶 ∙ 𝐷 ∙ (𝐴 + 𝐵) 𝑍 =𝐴∙𝐶∙𝐷+𝐵∙𝐶∙𝐷 Tocci/Widmer/Moss. Sistemas Digitales, principios y aplicaciones. 10ª Edición. 25 Ejercicios • Simplificación de funciones: 𝑍 = 𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶 𝑍 = 𝐵 ∙ 𝐶 ∙ (𝐴 + 𝐴) + 𝐴 ∙ 𝐶 ∙ (𝐵 + 𝐵) 𝑍 = 𝐵 ∙ 𝐶 ∙ (′1′) + 𝐴 ∙ 𝐶 ∙ (′1′) Factorizar Teorema 8b 𝑍 =𝐵∙𝐶+𝐴∙𝐶 Tocci/Widmer/Moss. Sistemas Digitales, principios y aplicaciones. 10ª Edición. 26 Ejercicios • Simplificación de funciones: 𝑍 = 𝐴 + 𝐵ത ∙ 𝐶 + 𝐷 + 𝐸 ∙ 𝐹 ∙ [𝐴 + 𝐵ത ∙ 𝐶 + 𝐷 + 𝐸 ∙ 𝐹 ] 𝑍= ∙ [ 𝑋 + 𝑌 𝑍=𝑋 𝑋 + 𝑌ത ] Sustituir Teorema 14b 𝑍 = 𝐴 + 𝐵ത ∙ 𝐶 Charles Roth Jr. Fundamentals of Logic Design. 2ª Edición. 27 Ejercicios • Simplificación a partir de una tabla de verdad: 𝑍 = 𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶 A B C Z 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 𝑍 = 𝐴 ∙ 𝐵 ∙ ′1′ + 𝐴 ∙ 𝐵 ∙ ′1′ + 𝐴 ∙ 𝐵 ∙ 𝐶 1 0 0 0 𝑍 =𝐴∙𝐵+𝐴∙𝐵+𝐴∙𝐵∙𝐶 1 0 1 0 𝑍 = 𝐴 ∙ (𝐵 + 𝐵) + 𝐴 ∙ 𝐵 ∙ 𝐶 1 1 0 0 1 1 1 1 𝑍 = 𝐴 ∙ (′1′) + 𝐴 ∙ 𝐵 ∙ 𝐶 𝑍 =𝐴∙𝐵∙ 𝐶+𝐶 +𝐴∙𝐵∙ 𝐶+𝐶 +𝐴∙𝐵∙𝐶 Factorizar Teorema 8b Factorizar Teorema 8b 𝑍 =𝐴+𝐴∙𝐵∙𝐶 Teorema 16a 𝑋=𝐴 𝑋+ 𝑋∙𝑌 =𝑋+𝑌 Entonces 𝑋=𝐴 𝑌 =𝐵∙𝐶 𝑍 = 𝐴 + (𝐵 ∙ 𝐶) 28 Ejercicios • Simplificación: (otra forma de ver la solución) 𝑍 = 𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶 A B C Z 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 𝑍 = 𝐴 ∙ 𝐵 ∙ ′1′ + 𝐴 ∙ 𝐵 ∙ ′1′ + 𝐴 ∙ 𝐵 ∙ 𝐶 1 0 0 0 𝑍 =𝐴∙𝐵+𝐴∙𝐵+𝐴∙𝐵∙𝐶 1 0 1 0 𝑍 = 𝐴 ∙ (𝐵 + 𝐵) + 𝐴 ∙ 𝐵 ∙ 𝐶 1 1 0 0 1 1 1 1 𝑍 = 𝐴 ∙ (′1′) + 𝐴 ∙ 𝐵 ∙ 𝐶 Sel 𝑍 =𝐴∙𝐵∙ 𝐶+𝐶 +𝐴∙𝐵∙ 𝐶+𝐶 +𝐴∙𝐵∙𝐶 𝑍 =𝐴+𝐴∙𝐵∙𝐶 Entonces A Z Si Sel = ‘0’; Z = ‘0’ Si Sel = ‘1’; Z = A Sel A Z 0 0 0 0 1 0 1 0 0 1 1 1 Cuando A = ‘0’; sin importar B y C, el 2º minitérmino desaparece. Cuando A = ‘1’; el primer minitérmino desaparece. Entonces => Z = ‘1’ cuando A=‘0’ ó cuando B • C = ‘1’ 𝑍 = 𝐴 + (𝐵 ∙ 𝐶) 29 Ejercicios • Expansión de funciones: • Suma de Productos a Suma de Productos Estándar: 𝑍 =𝐴∙𝐶+ 𝐵∙𝐶+ 𝐶 Falta la variable B Falta la variable A Faltan las variables A y B Teorema 8b 𝑍 = 𝐴 ∙ 𝐶 ∙ (𝐵 + 𝐵) + 𝐵 ∙ 𝐶 ∙ (𝐴 + 𝐴) + 𝐶 ∙ (𝐴 + 𝐴) ∙ (𝐵 + 𝐵) 𝑍 =𝐴∙𝐶∙𝐵+𝐴∙𝐶∙𝐵+𝐵∙𝐶∙𝐴+𝐵∙𝐶∙𝐴+ 𝐶∙𝐴∙𝐵+𝐶∙𝐴∙𝐵+𝐶∙𝐴∙𝐵+𝐶∙𝐴∙𝐵 𝑍 =𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶 𝑍 =𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶 𝑍 =𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶 𝑍 = "0 0 0" "0 0 1" "0 1 0" "1 0 0" "1 0 1" "1 1 0" Minitérminos "1 1 1" 30 Ejercicios • Expansión de funciones: • Suma de Productos a Suma de Productos Estándar: 𝑍 =𝐴∙𝐶+ 𝐵∙𝐶+ 𝐶 𝑍 =𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶 𝑍 = "0 0 0" Minitérminos "0 0 1" "0 1 0" 000 001 010 100 101 110 111 "1 0 0" "1 0 1" "1 1 0" "1 1 1" A B C Z 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 Combinaciones de las entradas que hacen verdadera a la función 31 Ejercicios A B C Z • Producto de Sumas a Producto de Sumas Estándar: 0 0 0 0 0 0 1 1 𝑍 = 𝐴 + 𝐶 ∙ 𝐵+𝐶 0 1 0 0 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 0 • Expansión de funciones: Falta la variable B Falta la variable A Teorema 8a 𝑍 = 𝐴 + 𝐶 + (𝐵 ∙ 𝐵) ∙ 𝐵+𝐶 + (𝐴 ∙ 𝐴) 𝑍 = 𝐴 + 𝐶 + 𝐵 ∙ 𝐴 + 𝐶 + 𝐵 ∙ 𝐵+𝐶 + 𝐴 ∙ 𝐵+𝐶 + 𝐴 𝑍 = 𝐴 + 𝐵 + 𝐶 ∙ 𝐴 + 𝐵 + 𝐶 ∙ 𝐴 + 𝐵+𝐶 ∙ 𝐴 + 𝐵+𝐶 𝑍 = 𝐴 + 𝐵 + 𝐶 ∙ 𝐴 + 𝐵 + 𝐶 ∙ 𝐴 + 𝐵+𝐶 ∙ 𝐴 + 𝐵+𝐶 𝑍 = "0 0 0" "0 1 0" "0 1 1" "1 1 1" Maxitérminos 000 010 011 111 Combinaciones de las entradas que hacen falsa a la función Ejercicios • Teorema de Morgan: 𝑍 = 𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶+𝐴∙𝐵∙𝐶 𝑍ҧ = 𝐴 ∙ 𝐵 ∙ 𝐶 + 𝐴 ∙ 𝐵 ∙ 𝐶 + 𝐴 ∙ 𝐵 ∙ 𝐶 + 𝐴 ∙ 𝐵 ∙ 𝐶 Negar toda la función 𝑍ҧ = (𝐴 ∙ 𝐵 ∙ 𝐶) ∙ (𝐴 ∙ 𝐵 ∙ 𝐶) ∙ (𝐴 ∙ 𝐵 ∙ 𝐶) ∙ (𝐴 ∙ 𝐵 ∙ 𝐶) Cambiar AND OR 𝑍ҧ = (𝐴Ӗ + 𝐵ധ + 𝐶)ҧ ∙ (𝐴ҧ + 𝐵ധ + 𝐶)Ӗ ∙ (𝐴ҧ + 𝐵ധ + 𝐶)ҧ ∙ (𝐴ҧ + 𝐵ത + 𝐶)Ӗ Cambiar AND OR 𝑍ҧ = (𝐴 + 𝐵 + 𝐶)ҧ ∙ (𝐴ҧ + 𝐵 + 𝐶) ∙ (𝐴ҧ + 𝐵 + 𝐶)ҧ ∙ (𝐴ҧ + 𝐵ത + 𝐶) Minitérminos 001 100 101 110 Maxitérminos 001 100 101 110 33