LÓGICA SECUENCIAL Y COMBINATORIA SESIÓN # 2 1.4 Conversión de otra base a decimal. En los sistemas numéricos posicionales, la conversión de otra base a decimal se hace con el método de la suma [3]. Este consiste en la conversión de cada dígito del número a convertir a su equivalente en base 10, para al final sumar todas las conversiones individuales utilizando aritmética decimal. La conversión de cada dígito a decimal depende de su posición con respecto al punto radical. Ejemplos: 11011.0101 2 = 1 x 2 4 + 1 x 2 3 + 0 x 2 2 + 1 x 2 1 + 1 x 2 0 + 0 x 2-1 + 1 x 2-2 + 0 x 2-3 + 1 x 2-4 = 16 + 8 + 0 + 2 + 1 + 0.25 + 0.0625 = 27.3125 10 132.31 4 = 1 x 4 2 + 3 x 4 1 + 2 x 4 0 + 3 x 4-1 + 1 x 4-2 = 16 + 12 + 2 + 0.75 + 0.0625 = 30.8125 10 426.5 8 = 4 x 8 2 + 2 x 8 1 + 6 x 8 0 + 5 x 8-1 = 256 + 16 + 6 + 0.625 = 278.625 10 1CE8.A 16 = 1 x 16 3 + 12 x 16 2 + 14 x 16 1 + 8 x 16 0 + 10 x 16-1 = 4096 + 3072 + 224 + 8 + 0.625 = 7400.625 10 Ejercicios: Convertir los siguientes números a decimal. 26. 11100111.0001 2 27. 0111.111101 2 28. 10101.11 2 29. 321.31 4 30. 717356.453 8 31. ABCD.1234 16 32. 1011011.111 16 33. 45ED32AB.98F 16
1.5 Aritmética binaria. Las operaciones aritméticas con números en base 2 sin signo siguen las mismas reglas que se aplican a los números decimales. A continuación se muestra con ejemplos la realización de las operaciones de suma y multiplicación [3]. Suma binaria. Acarreo 1 0 0 0 1 1 1 1 0 0 0 Cosumando 1 9 0 10 1 0 1 1 1 1 1 0 2 Sumando + 1 4 1 10 1 0 0 0 1 1 0 1 2 Suma 3 3 1 10 1 0 1 0 0 1 0 1 1 2 Acarreo 0 1 0 1 1 1 1 1 1 1 0 Cosumando 1 2 7 10 0 1 1 1 1 1 1 1 2 Sumando + 6 3 10 0 0 1 1 1 1 1 1 2 Suma 1 9 0 10 1 0 1 1 1 1 1 0 2 Acarreo 1 0 0 0 0 0 0 0 1 0 0 1 1 0 Cosumando 1 7.3 10 1 0 0 0 1. 0 1 0 0 1 1 2 Sumando + 4.4 10 1 0 0. 0 1 1 0 0 1 2 Suma 2 1.7 10 1 0 1 0 1. 1 0 1 1 0 0 2 Acarreo 1 0 0 0 0 0 0 0 0 0 0 Cosumando 1 7 0 10 1 0 1 0 1 0 1 0 2 Sumando + 8 5 10 0 1 0 1 0 1 0 1 2 Suma 2 5 5 10 1 1 1 1 1 1 1 1 2 Multiplicación binaria Multiplicando Multiplicador 11 10 13 10 1011 2 1101 2 Multiplicandos 33 1011 desplazados 11 0000 143 10 1011 1011 Producto 10001111 2 = 143 10 Multiplicando Multiplicador 62.1 10 7.9 10 111110.00011 2 111.111 2 Multiplicandos 5589 11111000011 desplazados 4347 11111000011 490.59 10 11111000011 11111000011 11111000011 11111000011 Producto 111101000.11111101 2 = 488.98898125 10
Ejercicios: Realizar las siguientes operaciones. 34. 1000111.11 2 + 10101.1 2 35. 100.1 2 + 011111.111 2 36. 1010101 2 + 1010.11 2 37. 111000.01 2 + 1011111.01 2 38. 10111.11 2 x 101.1 2 39. 111000 2 x 1100 2 40. 111011.1101 2 x 0.0111 2 41. 0.111111 2 x 11011 2 Representación de números con signo. En la aritmética decimal, un número negativo se indica con un signo menos y un número positivo con un signo más. En la numeración binaria se debe representar todo con unos y ceros, incluyendo el signo. El usuario es el que define si una cadena de bits representa una magnitud positiva o un número con signo [4]. Para representar números binarios con signo se tienen varios métodos, indicando a continuación los más importantes: a) Magnitud con signo. Equivalente a la aritmética ordinaria, se representa el signo con un bit colocado en la última posición a la izquierda de la magnitud del número. La convención es hacer que el bit de signo sea 0 para valores positivos y 1 para negativos. Por ejemplo, si se representa al +9 10 con 8 dígitos binarios se tiene 00001001 2, el 9 en magnitud con signo es 10001001 2. b) Complemento a 1. Cuando se efectúan operaciones aritméticas en una computadora, conviene mas emplear un sistema diferente para representar números negativos conocido como sistema de complemento con signo. En este sistema un número negativo se indica a través de su complemento. Los complementos se utilizan para simplificar la operación de sustracción o resta y para realizar la manipulación lógica. El sistema del complemento con signo vuelve negativo un número calculando su complemento El complemento a 1 se obtiene cambiando unos por ceros y ceros por unos del número a complementar. Por ejemplo, el +9 10 en 8 bits (00001001 2 ) tiene un complemento a 1 igual a 11110110 2, lo cual representa al -9 10 con este método. c) Complemento a 2. El complemento a 2 de un número binario se obtiene sumando 1 al valor de su complemento a 1. Por ejemplo, el complemento a 2 de +9 10 es 11110110 2 + 1 2 = 11110111 2, lo que representa al 9 10 por este método
Como ejemplo, la tabla siguiente, muestra la representación de números binarios de cuatro bits con signo por los métodos anteriores: Decimal Magn. signo Comp. a 1 Comp. a 2 +7 0111 0111 0111 +6 0110 0110 0110 +5 0101 0101 0101 +4 0100 0100 0100 +3 0011 0011 0011 +2 0010 0010 0010 +1 0001 0001 0001 +0 0000 0000 0000 0 1000 1111-1 1001 1110 1111 2 1010 1101 1110 3 1011 1100 1101 4 1100 1011 1100 5 1101 1010 1011 6 1110 1001 1010 7 1111 1000 1001 8 - - 1000 Algunas consideraciones de los números con signo son: * El complemento del complemento devuelve el número a su valor original. * Si el número original contiene un punto radical, éste debe eliminarse en forma temporal para formar su complemento. El punto radical se devuelve después al número complementado en la misma posición relativa. * El complemento a 1 representa dificultades en la aritmética de las computadoras debido a que representa al 0 de dos formas. Por lo tanto, el complemento a 2 es el utilizado en la computación actual. * Debe definirse claramente la cantidad de bits con la que se representa el número binario. Con la cantidad de bits, se puede calcular el rango de valores numéricos con signo o sin signo que se pueden representar. * En todas las representaciones binarias, la cantidad de números diferentes que se pueden definir con N bits es constante e igual a 2 N. Lo que cambia es el rango de números si se incluyen sin signo o con signo. Para el complemento a 2 se tiene: Rango de números positivos: de 0 a 2 N-1-1 Rango de números negativos: de -1 a -2 N-1 Sustracción o resta binaria. La resta de dos números binarios sin signo de N dígitos, P Q, se puede hacer de la siguiente manera [4]:
1. Súmese el minuendo P al complemento a 2 del sustraendo Q. 2. Si P Q, la suma producirá un acarreo final que se desecha; lo que queda es el resultado P Q. 3. Si P Q, la suma no produce un acarreo final y es igual al complemento a 2 de Q P. Para obtener la respuesta en forma conocida, calcúlese el complemento a 2 del resultado y colóquese un signo negativo al frente. Ejemplo: Dados los números decimales X = 52 y Y = 17, calculese las restas X-Y y Y-X utilizando números binarios de 8 bits por el método de complemento a 2. X = 52 10 = 00110100 2 Y = 17 10 = 00010001 2 X Y = 00110100 2 00010001 2 = 00110100 2 + 11101111 2 = 1 00100011 2 Y X = 00010001 2 00110100 2 = 00010001 2 + 11001100 2 = 11011101 2 = - 00100011 2 Ejercicios: Realizar las siguientes restas utilizando números binarios de 8 bits por el método del complemento a 2. 42. 65 32. 43. 78 89. 44. 127 128. 45. 12 90. 1.6 Códigos binarios. Cuando se representan números, letras o palabras por medio de un grupo especial de símbolos, se dice que se encuentran codificados y se le conoce al grupo de símbolos como código. Probablemente uno de los códigos más conocidos es el Morse, en el cual las series de puntos y rayas representan letras del alfabeto [1]. Aun cuando los números binarios son los mas apropiados para las computadoras electrónicas, las personas prefieren trabajar con los números decimales. Lo mismo ocurre con las máquinas electromecánicas, que son más compatibles con otras representaciones numéricas. Para solventar esta situación y buscar un equilibrio entre la naturaleza esencial de los circuitos electrónicos básicos, que procesan señales que toman los estados 0 y 1, y las interpretaciones necesarias en el mundo real, se hace uso de los llamados códigos binarios.
Un código binario es un conjunto de cadenas de N bits en que las diferentes cadenas de bits representan diferentes números u otras cosas. Una combinación particular de valores de N bits se llama palabra de código. Puede que haya o no una relación aritmética entre los valores de los bits en una palabra de código y lo que representa. Además, un código que usa una cadena de N bits no necesita contener 2 N palabras de código [3]. 1.7 Código BCD. Si cada dígito de un número decimal se representa con su equivalente binario, el resultado es un código llamado decimal codificado binario (BCD). Ya que el mayor dígito decimal es el 9, se necesitan 4 bits para codificar cada dígito [1]. Ejemplo: Codificar en BCD los siguientes números decimales: 874 10 = 1000 0111 0100 (BCD). 943 10 = 1001 0100 0111 (BCD) Nótese que siempre se usan 4 bits por cada dígito y que el código BCD no usa los números binarios 1010, 1011, 1100, 1101, 1110 y 1111. Si alguno de estos números no usados aparece en un sistema que emplea él código BCD, por lo general es una indicación de que se ha cometido un error. Ejercicios: Convertir los siguientes números decimales a código BCD. 46. 45679. 47. 123456. 48. 10000011. 1.8 Código Gray. El código Gray pertenece a una clase de códigos llamada códigos de cambio mínimo, en los cuales solo un bit cambia cuando pasa de una etapa a la siguiente. Este es un código sin valor, es decir, las posiciones de los bits en los grupos de código no tienen valor específico. Debido a esto el código no se ajusta a las operaciones aritméticas, sino que halla aplicación en dispositivos electromecánicos. La siguiente tabla muestra la representación en código de Gray de los números decimales de 0 a 15.
Decimal Código Gray Decimal Código Gray 0 0000 8 1100 1 0001 9 1101 2 0011 10 1111 3 0010 11 1110 4 0110 12 1010 5 0111 13 1011 6 0101 14 1001 7 0100 15 1000 Ejercicio: 49. Cuál es la ventaja principal del código Gray sobre el binario directo?.