Marzo, 2014 gchavezm@gromero.com.pe SISTEMAS DIGITALES ARITMTICA BINARIA La aritmtica binaria es esencial en todas las computadoras digitales y en muchos otros tipos de sistemas digitales. Para entender los sistemas digitales, debe conocer los principios bsicos de la suma, resta, multiplicacin y divisin binarias. En lo sucesivo se introducen estos temas. SUMA BINARIA Las reglas bsicas para la suma binaria son: Cuando hay un acarreo de entrada = 1 debido a un resultado las reglas son: previo, SUMA BINARIA Sumar los nmeros binarios 00111 y 10101 y mostrar la suma decimal equivalente. SUMA BINARIA RESTA BINARIA Las reglas bsicas para la resta binaria son: 0 1 1 10 - - - - 0 1 0 1 = = = = 0 0 1 1 con un adeudo de 1 Restar el nmero binario 00111 a 10101 la resta decimal equivalente. y mostrar RESTA BINARIA
MULTIPLICACIN BINARIA Las reglas bsicas para la multiplicacin binaria son: 0 0 1 1 0 1 0 1 = = = = 0 0 0 1 La multiplicacin con nmeros binarios se realiza de la misma forma que con nmeros decimales. Se realizan los productos parciales, desplazando cada producto parcial sucesivo una posicin a la izquierda, y sumando luego todos los productos parciales. MULTIPLICACIN BINARIA Multiplicar el nmero binario 110100010101 con 1101. 334913 = 43537 MULTIPLICACIN BINARIA DIVISIN BINARIA
COMPLEMENTO A 1 Y 2 DE NMEROS BINARIOS El complemento a 1 y el complemento a 2 de un nmero binario son importantes porque permiten la representacin de nmeros negativos. La aritmtica en complemento a 2 se usa comnmente en las computadoras para manipular nmeros negativos. COMPLEMENTO A 1 El complemento a 1 de un nmero binario es solo la inversin de los dgitos. Para formar el complemento a 1, cambiar todos los 0s a 1s todos los 1s a 0s. y Por ejemplo, el complemento a 1 de 11001010 es 00110101 En circuitos digitales, el complemento a 1 se forma utilizando inversores: COMPLEMENTO A 2 El complemento a 2 de un nmero binario se obtiene sumando 1 al LSB del complemento a 1. COMPLEMENTO A 2 Un mtodo alternativo para obtener el complemento a 2 de un nmero binario es el siguiente: 1. Se empieza por la derecha con el LSB y se escriben los bits como estn hasta encontrar el primer 1, incluido ste. 2. Se calcula el complemento a 1 de los bits restantes. COMPLEMENTO A 2 COMPLEMENTO A 2 NMEROS CON SIGNO Los sistemas digitales, tales como las computadoras, deben ser capaces de manejar nmeros positivos y negativos. Un nmero binario con signo queda determinado por su magnitud y su signo. El signo indica si un nmero es positivo o negativo, y la magnitud el valor del nmero. Existen tres formatos binarios para representar los nmeros enteros con signo: signo-magnitud, complemento a 1 y complemento a 2. Los nmeros no enteros y muy grandes o muy pequeos pueden expresarse en formato de coma flotante. BIT DE SIGNO El bit ms a la izquierda de un nmero binario con signo es el bit de signo, que indica si el nmero es positivo o negativo. Un bit se signo 0 indica que es un nmero positivo y un bit de signo igual a 1 indica que es un nmero negativo. FORMATO SIGNO Y MAGNITUD Cuando un nmero binario con signo se representa en este formato, el bit ms a la izquierda es el bit de signo y los restantes bits son de magnitud. FORMATO DEL COMPLEMENTO A 1 Los nmeros positivos en formato de complemento a 1 se representan igual que los nmeros positivos del formato signo-magnitud. Sin embargo, los nmeros negativos son el complemento a 1 del correspondiente nmero positivo. Por ejemplo, con ocho bits, el nmero decimal -25 se expresa como el complemento a 1 de +25 (00011001) como 11100110. En formato complemento a 1, un nmero negativo es el complemento a 1 del correspondiente nmero positivo FORMATO DEL COMPLEMENTO A 2 Los nmeros positivos en formato de complemento a 2 se representan igual que los nmeros positivos del formato signo-magnitud y complemento a 1. Sin embargo, los nmeros negativos son el complemento a correspondiente nmero positivo. 2 del Por ejemplo, con ocho bits, el nmero decimal -25 se expresa como el complemento a 2 de +25 (00011001) como 11100111. En formato complemento a 2, un nmero negativo es el complemento a 2 del correspondiente nmero positivo FORMATO DEL COMPLEMENTO A 2 VALOR DECIMAL DE LOS NMEROS CON SIGNO Signo y magnitud. Los valores decimales de los nmeros positivos y negativos en el formato signo-magnitud se determinan sumando los pesos de todas las posiciones de los bits de magnitud que tienen 1 e ignorando las posiciones donde haya ceros. El signo se determina examinando el bit de signo. Determinar el valor decimal del nmero binario con signo expresado como signo-magnitud 10010101: VALOR DECIMAL DE LOS NMEROS CON SIGNO Complemento a 1. Los valores decimales de los nmeros positivos se determinan sumando los pesos de todas las posiciones de los bits de magnitud que tienen 1 e ignorando las posiciones donde haya ceros. Los nmeros negativos se determinan asignando el valor negativo al peso del bit de signo, resultado. y sumando todos los pesos donde haya 1s y sumando 1 al Determinar los valores decimales de los nmeros binarios con signo expresados en complemento a a) 00010111 b) 11101000 1: VALOR DECIMAL DE LOS NMEROS CON SIGNO
VALOR DECIMAL DE LOS NMEROS CON SIGNO Complemento a 2. Los valores decimales de los nmeros positivos se determinan sumando los pesos de todas las posiciones de los bits de magnitud peso del negativo. que tienen 1 e ignorando las posiciones donde haya ceros. El bit de signo en un nmero negativo viene dado por su valor Determinar los valores decimales de los nmeros binarios con signo expresados en complemento a 2: a) 01010110 b) 10101010 VALOR DECIMAL DE LOS NMEROS CON SIGNO RANGO DE REPRESENTACIN DE LOS NMEROS CON SIGNO En la mayora de los ejemplos se han utilizado nmeros de 8 bits, puesto que la agrupacin de 8 bits es un estndar en la mayora de los digitales y recibe el nombre de byte. sistemas Con 8 bits se pueden representar 256 nmeros diferentes. Combinando 2 bytes (16 bits) se pueden representar 65.536 diferentes. nmeros 9 Combinando 4 bytes (32 bits) se pueden representar 4.295x10 diferentes. nmeros Y as sucesivamente . RANGO DE REPRESENTACIN DE LOS NMEROS CON SIGNO La frmula para calcular el nmero de combinaciones diferentes es: 2 n
Nmero total de combinaciones = Para los nmeros con signo en complemento a 2, el rango de valores para nmeros de n bits es: -(2 n-1
n-1 ) a +(2 -1) Habiendo en cada caso un bit de signo y n-1 bits de magnitud. Por ejemplo, con cuatro bits pueden representarse nmeros en complemento a 2 en el rango de (2 ) = -8 hasta +(2 - 1) = +7. Igualmente, con ocho bits, se pueden abarcar desde -128 hasta +127; con 16 bits se puede ir desde - 32.768 a 32.767, y as sucesivamente 3 3 NMEROS EN COMA FLOTANTE Para representar nmeros enteros muy grandes, son necesarios muchos bits. Tambin se producen problemas cuando queremos representar nmeros con parte fraccionaria, tal como 23,5618. El nmero en coma flotante (tambin conocido como nmero real) tiene dos partes ms un signo. La mantisa que representa la magnitud del nmero. El exponente que representa el nmero de lugares que se va a desplazar el punto decimal (o binario). Por ejemplo el nmero decimal 241.506.800 puede ser reescrito en formato de coma flotante tomando 0,2415068 como mantisa y 9 como exponente. Queda finalmente: 0,2415068 x 10 9
NMEROS EN COMA FLOTANTE Para los nmeros en coma flotante binarios, el formato definido por el estndar 754/1985 ANSI/IEEE puede tomar tres formas: simple precisin (compuesto por 32 bits), doble precisin (compuesto por 64 bits) y precisin ampliada (80 bits). Restringiremos la explicacin al formato en coma flotante de precisin simple el cual se ilustra a continuacin. NMEROS EN COMA FLOTANTE Un ejemplo para ilustrar como un nmero binario se expresa en formato de coma flotante: 1011010010001. NMEROS EN COMA FLOTANTE Expresar la velocidad de la luz, c, en notacin de punto flotante de precisin simple binario. (c = 0.2998 x 10 ) 9 En binario, c = 0001 0001 1101 1110 1001 0101 1100 0000 2 .
En notacin cientfica, c = 1.0001 1101 1110 1001 0101 1100 0000 x 2 . S = 0 porque el nmero es positivo. E = 28 + 127 = 155 10 = 10011011 2 . F son los siguientes 23 bits descartando el primer 1. 28 En notacin de punto flotante, NMEROS EN COMA FLOTANTE Para evaluar un nmero binario que ya est en formato de coma flotante se utiliza la siguiente frmula. Por ejemplo, consideremos el siguiente nmero binario en coma flotante. El bit de signo es 1. El exponente desplazado es 10010001 = 145. Aplicando la frmula, obtenemos Este nmero es equivalente al -407.688 en decimal. SUMA HEXADECIMAL Cuando se suman dos nmeros hexadecimales se usan las siguientes reglas: 1. En cualquier columna dada de una suma, pensar en los dos dgitos hexadecimales en trminos de su valor decimal. Por ejemplo, 5 16 = 5 10 ,
C 16 = 12 10 .
2. Si la suma de los dos dgitos es 15 10 o menor, reducir al dgito hexadecimal correspondiente. 3. Si la suma de los dgitos es mayor que 15 10 , hay que reducir la suma
que excede de 16 10 y pasar el acarreo de 1 a la siguiente columna. SUMA HEXADECIMAL RESTA HEXADECIMAL USANDO COMPLEMENTO A 2 Como ya se sabe, el complemento a 2 permite restar sumando nmeros binarios. Este mtodo tambin aplica a la resta en hexadecimal. SUMA EN BCD BCD es un cdigo numrico y puede utilizarse en operaciones aritmticas. Veremos slo la suma en BCD ya que las otras tres operaciones pueden llevarse a cabo utilizando la suma. Los pasos son los siguientes: 1. Paso 1. Sumar los dos nmeros BCD utilizando las reglas de la suma binaria vistas en las clases anteriores. Paso 2. Si una suma de 4 bits es igual o menor que 9, es un nmero BCD vlido. Paso 3. Si una suma de 4 bits es mayor que 9, o si genera un acarreo en el grupo de 4 bits, el resultado no es vlido. En este caso, se suma 6 (0110) al grupo de 4 bits para saltar as los seis estados no vlidos y pasar al cdigo BCD. Si se genera un acarreo al sumar 6, este se suma al grupo de 4 bits siguientes. 2. 3. SUMA EN BCD Ejemplo sin acarreos SUMA EN BCD Ejemplos con acarreos