Está en la página 1de 20
Cartrute 6IARITMETICA DIGITAL: OPERACIONES ¥ CIRCUTTOS 6-1 SUMA BINARIA La suma de dos niimeros binarios se realiza exactamente de la misma forma que la suma de nimeros decimales. De hecho, la suma binaria es mas simple debido a que hay menos casos que aprender, Primero revisemos la suma decimal: Primero se opera sobre la posiciGn del digito menos significative (LSD), con lo cual se produce una suma de 7. Después se suman los digitos en la segunda posicién para producir una suma de 13, la cual produce un acarreo de 1 hacia la tercera posicion. En esta posicidn se produce una suma de 8, En Ia suma binaria se siguen los mismos pasos generales. No obstante, s6lo pue= den ocurrir cuatro casos cuando se suman los dos digites binarios (bits) en cualquier posicion, Estos son: + acarreo de 1 hacia la siguiente posicién + acarreo de 1 hacia la siguiente posicién El iiltimo caso ocurre cuando los dos bits en cierta posicién son 1 y hay un acarreo de la posicidn anterior. He aqui varios ejemplos de la suma de dos nimeros binarios (los equivalentes decimales estan entre parentesis): 0113) 1001 (9) 11.011 (3.375) + 1106) + 11115) + 10.110 (2.750) 1001 (8) 11000 (24) 110.001 (6.125) No es necesario considerar la suma de mas de dos niimeros binarios a la vez, ya que en todos los sistemas digitales los circuitos que se encargan de realizar la suma ‘sdlo pueden manejar dos numeros al mismo tiempo. Cuando se van a sumar mas dde dos nimeros, los primeros dos se suman y luego el resultado ve suma al tercer rmimero,y asi sucesivamente. Esta no es una desventaja grave, ya que por lo general las computadoras digitales modemas pueden realirar una operacién de suma en varios nanosegundes Ta suma es Ia operacién aritmética mas importante en los sistemas digitale ‘Como veremos, las operaciones de resta, multiplicacién y division que se realizan ‘SkeciON 6-2/REPRESENTACION DE NUMEROS CON SIGNO 299 en Ja mayoria de las computadoras y calculadoras digitales modernas en realidad utilizan solo la suma como su operacién bisica, FIGURA 6-1 Representacién de niimeros con signe en la forma de signo-magnitud. 6-2 REPRESENTACION DE NUMEROS CON SIGNO En las computadoras digitales, los mimeros binarios se representan mediante un conjunto de dispositives de almacenamiento binario (por ejemplo, flip-flops). Cada dispositivo representa un bit. Por ejemplo, un registro FF de seis bits puede almace- nar niimeros binarios que varian desde 000000 hasta 111111 (de 0 a 63 en decimal). Esto representa la magnitud del niimero. Debido a que la mayoria de las computa- doras y caleuladoras digitales maneja nimeros tanto negativos como positives, se roquiere de algiin medio para reprosentar el signe del nimero (+ 0 —).Por lo general Jo que se hace es agregar otro bit al niimero; a este bit se le llama bit de signo, En general, la convencién comin es que un 0 en el signo representa a un niimero posi- tivo y un 1 en el bit de signo representa a un ntimero negativo, Esto se ilustra en la figura 6-1. El registro A contiene los bits 0110100. E1 0 en el bit mas a la izquierda (A) es el bit de signo que representa al signo +. Los otros seis bits son la magni- tud del némero 1101002, el cual es equivalente al 52 decimal. Entonces, el numero almacenado en el registro Aes +52. De manera similar, el ntimero almacenado en el registro B es ~52 ya que el bit de signo es 1, que representa al ~. El bit de signo se utiliza para indiear la naturaleza positiva o negativa del niime- 10 binario almacenado. Los mimeros de la figura 6-1 consisten de un bit de signo y de seis bits de magnitud, Los bits de magniticd son el equivalente binario real del ‘valor decimal que se estd representando. A éste se le conoce como sistema de signo- magnitud para representar nimeros binarios con signo. ‘Aunque el sistema de signo-magnitud es simple, las calculadoras y computa doras no lo utilizan de manera usual porque la implementacién del circuito es mis, compleja que en otros sistemas. El sistema mas comin que se utiliza para represen- tar nlimeros binarios con signo es el sistema de complemento a 2. Antes de ver como se hace esto, primero debemos ver cémo se forma el complemento a 1 y el comple- mento a2 de un numero binario. fata fol s ]o} o | 45% Bit de signa (4) Magiitud = 52,0, FIGURA 6-2 Representacién de aniimeros con signo en ef sistema de complementa a2, Cartrute 6IARITMETICA DIGITAL: OPERACIONES ¥ CIRCUTTOS Forma de complemento a 1 El complemento a 1 de un nimero binario se obtiene al cambiar cada 0 por un 1y cada 1 por un 0, En otras palabras, se cambia cada uno de los bits en el ntimero por su complemento. El proceso se muestra a continuacién. 101101 mimero binario original Led 010010 se complementa cada bit para formar el complemento a1 Por Io tanto, decimos que el complemento a 1 de 101101 es 010010. Forma de complemento a 2 El complemento a 2 de un némero binario se forma al tomar el complemento a 4 de ese niimero y sumarle 1 a la posicién del bit menos significative. El proceso se ilustra a continuacion para el ntimero 101101, = 45,0 101101 — equivalente binario de 45 010010 — secomplementa cada bit para formar el complemento a1 + 1 se le suma 1 para formar el complemento a 2 010011 — complemento a 2 del nimero binario original Entonces, decimos que 010011 es la representacién en complemento a 2 de 101101. He aqui otro ejemplo de cémo convertir un nuimero binario a su representacién en complemento a 2: 101100 ndmero binario original 010011 — complementa a1 # 1 selesumat 010100 — complemento a2 del mimero original Representacién de nuimeros con signo mediante el complemento a 2 El sistema de complemento a 2 para representar nuimeros con signo funciona asi: Sil mimero es positivo, la magnitud se representa en su forma binaria real y se coloca el bit de signo 0 enfrente del MSB. Esto se muestra en la figura 62 para el niimero +4315. M Si el nimero es negativo, la magnitud se representa en su forma de comple- mento a 2 y se coloca el bit de signo 1 enfrente del MSB. Esto se muestra en la Figura 6-2 para el aimero —4540, ofr fofs]a | o} a |=+a5e Binaris reat a fol r}fofo} sa |= te sino (=) Compemonto a2 ‘SeeciO 6-2/REPRESENTACION DE NUMEROS CON SIGNO. 301 EI sistema de complemento a 2 se utiliza para representar ntimeros con signo ya que, como veremos, nos permite realizar la operacidn de la resta, a partir de una operacién de suma. Esto es importante ya que significa que una computadora digi- tal puede utilizar los mismos circuitos tanto para sumar como para restar, lo cual redunda en un ahorro en el hardware. fo Represente cada uno de los siguientes ntimeros decimales con signo en forma de un niimero binario con signo en el sistema de complemento a 2. Use un total de cinco bits, incluyendo el bit de signo. (@) +13 ()-9 (43 @)-2 (|)-B Solucién (2) El mimero es positive, por lo que la magnitud (13) se representaré en su forma de magnitud real, es decir: 13 = 11013. Si agregamos el bit de signo 0 tenemos que +13 = 1101, bit de signe (©) El ntimero es negative, por lo que la magnitud (8) debera representarse en forma de complemento a 2: 94g = 1001, 0110 (complement a 1) +1 Gesuma tal LSB) O11 —_(complemento a2) Cuando agregamos el bit de signo 1, el némero con signo completo se convierte -9 = 10111 bit de sieno 1 El procedimiento que acabamos de seguir requiere de dos pasos. Primero determinamos el complemento a 2 de la magnitud y después agregamos el bit de signo. Esto puede lograrse en un solo paso si incluimos el bit de signo en el proceso del complemento a 2. Por ejemplo, para encontrar la representacién para —9, empezamos con la representacién para +9, inclupend el bit de signo, y tomamos el complemento a 2 de ese mimero para poder obtener la representa: cién para —9. +9 = 01001 10110 (complemento a 1 de cada bit, incluyendo el bit de signo) 1 (sesuma 1 al LSB) T0111 —_(representacién de —9 en complemento a 2) El resultado es, desde luego, el mismo que obtuvimos antes. (©) El valor decimal 3 puede representarse en binario con solo usar dos bits. No obstante, la declaracién del problema requiere una magnitud de cuatro bits pre- cedida por un bit de signo. Por lo tanto, tenemos: +3yy = 0011 Carfrute GIARITMETICA DIGITAL: OPERACIONES ¥ CIRCUTTOS En muchas situaciones el nimero de bits se fija con base en el tamafo del registro que almacenaré los mimeros binarios, por lo que tal vez debamos agregar 0s para poder Ienar el niimero requerido de posiciones de bits. +2 = 00010 11101 (complememto a 1) +__1 (se suma 1) T1110 (representacién de ~2 en complemento a 2) (a) Empezamos por escribir +2 mediante él uso de cinco bits: (©) Empezamos con +8: +8 = 01000 10111 (se complementa cada bit) +1 Gesumat) = 11000 (representacién de —8 en complemento a2) Extensién del signo En el ejemplo 6-1 tuvimos que utilizar un total de cinco bits para representar los ngimeros con signo, El tamaio de un registro (nimero de flip-flops) determina el niimero de digitos binarios que se almacenan para cada mimero, La mayoria de los sistemas digitales hoy en dia almacenan nimeros en registros con tamaiios en miltiplos pares de cuatro bits. En otras palabras, los registros de almacenamiento estan compuestos de 4, 8, 16, 32 0 64 bits. En un sistema que almacena mimeros de ‘ocho bits, siete de ellos representan la magnitud y el MSE representa el signo. Si necesitamos almacenar tin niimero positive de cinco bits en un registro de ocho bits, silo basta con agregar ceros a la izquierda. El MSB (bit de signo) sigue siendo 0, lo 0000 1001 0s a la izquierda que se agregaron valor binario para el 9 cual indica un valor positivo, Qué ocurre si tratamos de almacenar nimeros negatives de cinco bits en un registro de ocho bits? En la seccién anterior vimos que la representaci6n binaria en 1011 complemento a 2 de cinco bits para el —9 es 10111 Si anexaramos 0 a la izquierda, éste ya no seria un mimero negativo en el formato La manera apropiada de extender un ntimero negativo es anexando 1s .rda. Asi, el valor almacenado para el 9 negativo es aii1 0111 1 magnitud en complemento a2 signo en formato de cinco bits extensién del signo al formato de ocho bits ‘SeeciO 6-2/REPRESENTACION DE NUMEROS CON SIGNO. 303 Negacién ‘La negacién es la operacién de convertir un niimero positivo en su equivalente nega. tivo, o un niimero negativo en su equivalente positivo. Cuando los nlimeros binarios con signo se representan en el sistema de complemento a 2, para realizar la nega- cién solo basta con realizar la operacin de complemento a 2. Para ilustrar esto empecemos con el +9 en su forma binaria de ocho bits. Su representacion con signo es 00001001. Si saeamos su complemento a 2 obtendremos 11110111, e! cual repre- senta al valor con signo ~9. De igual forma podemos empezar con Ia representacion de —9, que es 11110111, y sacar su complemento a 2 para obtener 00001001, el cual representa a +9. A continuacion se muestran estos pasos en un diagrama. Empezamos con ooon1001 +9) complemento a2 (se cambiaelsigno) 11110111 —9 se niega otra vez ooo01001 +9. Por lo tanto, para cambiar el signo de un ndmero binario con signo lo complementamos a 2. Esta negacién cambia el niimero a su equivalente con signo opuesto.En los pasos (d) y (e) del ejemplo 6-1 utilizamos la negaci6n para convertir los ntimeros positivos en sus equivalentes negativos, Cada uno de los siguientes m mn signo de de complemento a 2. Determine el valor decimal en cada caso: (a) 01100 (b) 11010 (c) 10001 Solucién (a) EI bit de signo es 0, por Io que el mimero es positivo y los otros cuatro bits representan la magnitnd real del ntimero. Esto es, 1100) = 12,9. Por lo tanto, el ntimero decimal es +12. (b) El bit de signo de 11010 es un 1, por lo que sabemos que el mimero es negativo, pero no podemos saber cudl es la magnitud. Podemos encontrarla si cambiamos el signo (complementamos a 2) al numero para convertirlo en su equivalente positive. 11010 (mimero negativo original) 00101 (complemento a 1) 1 (se suma 1) 110 (+6) Como el resultado de la negacién es 0010 = +6, el niimero original 11010 debe ser equivalente a —6. (©) Siga el mismo procedimiento que en (b): 10001 (mtimero negativo original) 01110 (complemento a 1) 1 (sesuma 1) TH (415) Por lo tanto, 10001 = ~15. TABLA 6-1 Carfrute GIARITMETICA DIGITAL: OPERACIONES ¥ CIRCUTTOS Caso especial en la representacién de complemento a 2 Siempre que un niimero con signo tiene un 1 en el bit de signo y todos los bits de su magnitud son 0, su equivalente decimal es —2%, en donde N es el mimero de bits en Ta magnitud, Por ejemplo, 1000 = -2? = —8 10000 = -24 = —16 100000 = ~25 = -32 y asi en lo sucesivo. Observe que en este caso especial, al sacar el complemento a 2 de estos mimeros se produce el valor con el que comenzamos, ya que estamos en el limite negative del intervalo de nimeros que pueden representarse mediante esta cantidad de bits. $i extendemos el signo de estos mimeros especiales, el pro- cedimiento normal de negacién funciona sin problemas. Par ejemplo, al extender el ntimero 1000 (~8) a 11000 (8 negativo de cinco bits) y sacar su complemento a 2 obtenemos 01000 (8), que ¢s la magnitud del numero negativo. Asi, podemos afirmar que el intervalo completo de valores que pueden repre- sentarse en el sistema de complemento a 2 con bits de magnitud es 2" tw 42" 1) Hay un total de 2"! valores Por ejemplo, la tabla 6-1 lista todos los ntimeros con signo que pueden represen- xarse en cuatro bits mediante el sistema de complemento a 2 (observe que hay tres bits de magnitud, por lo que N = 3). La secuencia empieza en ~2' 10002 y continia hasta +(2* ~ 1) = +2°—1— +719 ~ O11, al sumar 0001 en cada paso, como en un contador ascendente. Binario con signo mediante: Valordecimal el uso de! complemento a2 4791 ont 6 o1t0 8 101 4 0100 2 ort 2 oto 4 091 ° 000 a nit “2 1110 -3 1101 -4 1100 -5 tom -8 1010 -7 1001 —8--2 1000 ‘SecciON 6-2/REPRESENTACION DE NUMEROS CON SIGNO. 305 | cienrives | {Cual es el intervalo de valores decimales sin signo que pueden representarse en un byte? Solucién Recuerde que un byte es de ocho bits. Aqui nos interesan los miimeros sin signo, por Jo que no hay bit de signo y todos los ocho bits se utilizan para la magnitud. Por lo tanto, los valores variardn desde 00000000) = 05 hasta 11111113 = 25510 Esto nos.da un total de 256 valores distintos, los cuales podriamos haber previsto, ya que 2° = 256 Ee {Cual es el intervalo de valores decimales con signo que pueden representarse en un byte? Solucién Como el MSB se va a utilizar como el bit de signo, se tienen siete bits para la magni: tud. El valor negativo més grande es 10000000, = -27 = ~12819 El valor pasitivo mas grande es o11iaati, = +27-1= +1279 En consecuencia, el intervalo es de —128 a +127; esto nos da un total de 256 valores Aistintos, incluyendo el cero. De manera alternativa, y como hay siete bits de magni- tud (N = 7), entonces hay 28"! = 2° = 256 valores distintos. utilizando el sistema de complemento a 2: ‘Mientras ejecuta un programa, a la computadora se le pide que convierta cada nimero en su signo opuesto; esto es, debe cambiar el +31 a ~31y el ~12 a +12, {Como hara esto? Solucién Esta es la operacién de cambio de signo, en la que un ntimero con signo puede cambiar su polaridad con solo realizar la operacién de complemento a 2 sobre el numero completa, incluyendo el bit de signo. Los circuitos de la computadora toma: ‘ran el niimero con signo de la memoria, encontraran su complemento a2 y pondrin el resultado de vuelta en la memoria. Cariruto GIARITMETICA DIGITAL: OPERACIONES ¥ cmcUTTOs 6-3 SUMA EN EL SISTEMA DE COMPLEMENTO A 2 Ahora investigaremos cémo se realizan las operaciones de suma y resta en los equi os digitales que utilizan la representacién de complemento a 2 para los mimeros negativos. En los diversos casos @ considerar, es importante observar que el bit de signe de cada numero se opera sobre la misma forma que los bits de magnitud, Caso I: dos niimeros positives. La suma de dos nimeros positivos es simple. Considere la suma de +9y +4: +9-/0 1001 (primer sumando) (sumando) [Q101 — (suma= +13) "E blts de signe Observe que los hits de signo del primer sumando y del sumando son ambos 0 y que el bit de signo de la suma es 0, lo cual indica que la suma es positiva. Observe, ade- ‘mas, que el primer sumando y el sumando se ajustan para tener el mismo nimero de bits. Esto debe hacerse siempre en cl sistema de complemento a 2. Caso I: mimero positivo y ntimero negative mas pequeno. Considere la suma de +9'y 4, Recuerde que el —4 estaré en su forma de complemento a 2. Por lo tanto, +4 (00100) debe convertirse en —4 (11100). E- Dits de signo (primer sumando) (sumando) ‘Leste acarreo se descarta; el resultado es 00101 (suma = +5). ‘caso el bit de signo del sumando es 1. Observe que los bits de signo también, participan en el proceso de la suma. De hecho, se genera un acarreo en la tiltima SecciOn 6-4/RESTA EN EL SISTEMA DE COMPLEMENTO A2 307 posicidn de la suma. Este acarreo siempre se descarta, por lo que la suma final es 00101, que equivale a +5, Caso IH: mimero positive y niimero megative mas grande. Considere Ia suma de By +4: -9 10111 +4 00100 11011 (suma=—5) LL bit de signo negativa Aqui la suma tiene un bit de signo en 1, lo cual indica un resultado negative. Como el resultado de la suma es negativo se encuentra en su forma de complemento a 2, ‘por lo que los tiltimos cuatro bits (1011) en realidad representan el complemento a 2 del resultado, Para encontrar la magnitud real, debemos negar (complementar a 2) €1 11011; el resultado es 00101 = +5. De esta forma, 11011 representa a —5. Caso LV: dos niimeros negatives -9 1011 11100 1 10011 ‘Libit de signo Este acarreo se descarta; el resultado es 10011 (suma =~13). ‘Nuevamente el resultado final es negativo y esté en forma de complemento # 2 con un bit de signo de 1. Al cambiar de signo (complementar a 2) este resultado se pro- duce 01101 = +13, Caso V: mimeros iguales y opuestos -9- 101it +95 01001 0 4 00000 Se desearta; el resultado es 0000 (suma = +0). Es obvio que el resultado es +0, como se esperaba. 6-4 RESTA EN EL SISTEMA DE COMPLEMENTO A 2 La operacién de resta mediante el uso del sistema de complemento a 2 en realidad implica la operacién de 1a suma y no es distinta de los diversos casos para la suma Cartrute GIARITMETICA DIGITAL: OPERACIONES ¥ CIRCUTTOS que vimos en la seecién 6-3. Cuando se resta un néimero binario (el sustraendo) de otro ntimero binario (el minuendo) se utiliza el siguiente procedimiento: 1. Negar et sustraendo. Esto cambiaré el sustraendo por su valor equivalente del signo opuesto. 2. Sumar éte al minuendo. El resultado de esta suma representari la diferencia entre el sustraendo y el minuendo. Una vez més, como en todas las operaciones aritméticas de complemento a 2 es necesario que ambos mimeros tengan la misma cantidad de bits en su representa- Consideremos el easo en donde +4 se va a restar do +9. minuendo (+9)-» 01001 sustraendo (+4)—» 00100 ‘Se cambia el signo al sustraendo para producir 11100, el cual representa a —4. Ahora se suma éste al minuendo, 01001 (+9) 411100 (-4) 100101 (+5) Use desearta, por lo que el resultado es 00101 = +5. Cuando ef sustraendo se cambia por su complemento a 2, en realidad se con- vierte en —4 por lo que estamos sumando —4 y +9, que es lo mismo que restar +4 de +9, Este caso es igual al caso Il de la seccion 6-3. Entonces, cualquier operacion de resta se convierte en una de suma cuando se utiliza el sistema de complemento a 2. Esta caracteristica del sistema de complemento a 2 lo ha convertido en el sistema de mas amplio uso de todos los métodos disponibles, ya que permite realizar la suma y la resta mediante ef mismo circuito, He aqui otro ejemplo que muestra la resta de +9 con ~4; 11100 (-4) = 01001 (+9) Se niega el sustraendo (+9) para producir 10111 (—9) y se suma éste al minuendo Me 11100, (—4) #10111 (9) 110011 (—13) Use desearta El lector deberd verificar los resultados de utilizar el procedimiento anterior para las siguientes restas: (a) +9 — (~ 4); (b) -9 = (+4); (c) -9—(=4); (2) +4 = (4). Recuerde que cuando el resultado tiene un bit de signo de 1, es negative y esta en forma de complemento a2. Desbordamiento aritmético En cada uno de los ejemplos anteriores de sumas y restas, los ntimeros que se suma- ron consistian de un bit de signo y cuatro bits de magnitud. Las respuestas también consistian de un bit de signo y cuatro bits de magnitud. Se descarté cualquier aca- reo hacia la sexta posicion de bit. En todes los casos considerados, la magnitud de SkCCION 6-8/RESTA EN PL SISTEMA DE COMPLEMENTO A 2 309 Ja respuesta fue Jo bastante pequefia como para ajustarla en cuatro bits. Veamos la suma de +9 y +8. +95) 0 1001 +8, 0 1000 11001 signoineorrecto —_L magaitud incorrecta La respuesta tiene un bit de signo negativo, lo cual es obvio que es incorrecto ya que estamos sumando dos mimeros positives. La respuesta debera ser +17, pero la magnitud 17 requiere més de cuatro bits y, por lo tanto, se desborda hacia la posicién del bit de signo. Esta condicién de desbordamiento puede ocurrir sélo cuando se estén sumando dos mimeros positivos o dos nimeros negativos, y siempre produce ‘un resultado incorrecto, Para detectar el desbordamiento podemios comprobar si el Dit de signo del resultado es el mismo que los bits de signo de los niimeros que se van a sumar. Para realizar la resta en el sistema de complemento a 2, se niega el minuendo y se swna al sustraendo, por 1 que el desbordamiento sélo puede ocurrir cuando el minuendo y el sustraendo tienen signos diferentes. Por ejemplo, si vamos a restar 8 de +9, el ~8 se niega para convertirse en +8 y se suma a +9 como se muestra a continuacion, y el desbordamiento produce un resultado negativo erréneo ya que la magnitud es demasiado grande, Una computadora debe tener un circuito especial para detectar cualquier co dicién de deshordamiento al sumar o restar dos ntimeros. Este circuito de deteccién enviara una senal a la unidad de control de la computadora para indicarle que ha ocurrido un desbordamiento y que el resultado es incorrecto. En uno de los proble: mas al final del capitulo examinaremos dicho cireuito. 310 Carfrute GIARITMETICA DIGITAL: OPERACIONES ¥ CIRCUTTOS 6-5 MULTIPLICACION DE NUMEROS BINARIOS La multiplicacién de mimeros binarios se realiza de la misma forma que la multi- plicacién de ntimeros decimales. En realidad el proceso es mas simple, ya que los digitos multiplicadores son 0 0 1, por lo que siempre estamos multiplicando por 0.0 Ly ningiin otro digito. El siguiente ejemplo ilustra esto para los nimeros binarios sin signo: 1001 = multiplicando = 949 1011 multiplicador = 1139 1001 1001 ‘000 1001 1100011} produeto final productos parciales En este ejemplo el multiplicando y el multiplicador estén en su forma binaria natu- ral por lo que no se utilizan bits de signo, Los pasos que se siguen en el praceso son ‘SecciON 6-6/DIVISION BINARIA 3 exactamente los mismos que en la multiplicacién decimal. Primero se examina el LSB del multiplicador; en nuestro ejemplo es un 1. Este I multiplica el multiplicando ara producir 1001,el cual se anota como el primer producto parcial. A continuacion se examina el segundo bit del multiplicador. Es un 1, por lo que se eseribe 1001 para el segundo producto parcial. Observe que este segundo producto parcial se desplaza una posicién a la izquierda, en forma relativa al primer producto. El tercer bit del multiplicador es 0, por lo que se eseribe 0000 como el tercer producto parcial; de nuevo, se desplaza una posicion a la izquierda en forma relativa al producto parcial anterior. El euarto bit del multiplicador es 1, por lo que el tiltimo producto parcial es 1001, desplazado una posicion a la izquierda. Después los cuatro productos parciales se suman para producir el producto final. La mayoria de los equipos digitales puede sumar s6lo dos niimeros binarios a la ‘yer. Por esta raz6n los productos parciales que se forman durante la multiplicacién no pueden sumarse todos juntos al mismo tiempo, sino que se suman de dos en do: cs decir, el primero se suma al segundo, después el resultado se suma al terceroy asi en Jo sucesivo. A continuacién jlustraremos este proceso para el ejemplo anterior: 1001 < primer producto parcial Sumar{ 1001 segundo producto parcial desplazado a la iquierda Sumar{ 11011 © suma de los primeros dos productos parciales 0000___< tercer producto parcial desplazado a la izquierda Sumar{ 911011 < suma de los primeros tres productos parciales 1001 & euarto producto parcial desplazado a la izquierda 1100011 < suma de los cuatro productos parciales, que equivale al producto total final Multiplicacién en el sistema de complemento a 2 En las computadoras que utilizan la representacion en complemento a 2, la multipli- cacidn se lleva a cabo en la manera antes descrita, siempre y cuando tanto el mul- tiplicando como el multiplicador se coloquen en forma binaria natural, Si los dos nimeros a multiplicar son positivos, ya se encuentran en Ja forma binaria natural y se multiplican como estan. Desde luego que él producto resultante es positiva y se Je asigna un bit de signo de 0. Cuando los dos ntimeros sean negativos, deberan estar en forma de complemento a 2. Se saca el complemento a 2 de cada uno para conver- tirlo en un mimero positive y después se multiplican esos dos ntimeros. El producto se mantiene como un nimero positivo y recibe un bit de signo de 0. Cuando uno de los niimeros es positivo y el otro negativo, primero se convierte el niimero negativo en una magnitud positiva, sacando su complemento a 2. El pro- ducto se encontraré en forma de magnitud real. No obstante, el producto debe ser negativo ya que los nuimeros originales son de signos opuestos. Como consecuencia, el producto se cambia a su forma de complemento a 2 y se le asigna un bit de signo de 1. 6-6 DIVISION BINARIA El proceso para dividir un mimero binario (el dividendo) entre otro (el divisor) es el mismo que el que se utiliza para los mimeros decimales, al cual, por lo general, se Je conoce como “divisién larga”. EI proceso actual es mas simple en binario, ya que cuando estamos comprobando cudntas veces “cabe” el divisor en el dividendo solo 32 Cartrute GIARITMETICA DIGITAL: OPERACIONES ¥ CIRCUTTOS hay dos posibilidades: 0 0 1. Para ilustrar esto, considere Los siguientes ejemplos simples de division: oot oot. 11fi001 100/1010.0 on 100 oot 100 at 00 0 0 En el primer ejemplo tenemos el mimero 10012 dividido entre 113, que en decimal equivale a9 + 3. Bl cociente resultante es 0011, ~ 3j9. En el segiindo ejemplo, el miimero 1010; se divide entre 100;, 0 10 + 4 en decimal. El resultado es 0010.12 2510 ‘En la mayoria de Ios equipos digitales modernos, por lo general, las restas que son parte de Ia operacién de divisién se Hevan a cabo mediante el uso de Ia resta con complemento a 2; es decir, se saca el complemento a2 del sustraendo y después se suma. La divisin de niimeros con signo se maneja de la misma forma que la multipli- cacién, Los niimeros negativos se convierten en positivos mediante su negacién y despues se lleva a cabo la division. Si el dividendo y el divisor tienen signos opues- tos, el cociente resultante se cambia a nimero negativo, para lo cual se saca su complemento a 2 y se le asigna un bit de signo de 1. Si el dividendo y el divisor son del mismo signo, el cociente se deja como mimero positive y se le asigna un bit de signo de 0. 6-7 SUMABCD En el capitulo 2 mencionamos que muchas computadoras y calculadoras utilizan el cédigo BCD para representar los ntimeros decimales. Recuerde que este cédigo toma cada digito decimal y lo representa mediante un cédigo de cuatro bits que varia desde 0000 hasta 1001. La suma de ntimeros decimales que estén en la forma BCD puede comprenderse mejor si se consideran los dos casos que pueden ocurrir cuando se suman dos digitos decimales. La suma es igual a 9 0 menor Considere la suma de 5 y 4 mediante BCD para representar cada digito: 5 0101. < BCD para el 5 +4 +0100 9, debe agregarse un factor 34 Carfrute GIARITMETICA DIGITAL: OPERACIONES ¥ CIRCUTTOS de correceién de 6 a la suma de los LSDs. Al sumar esta correcci6n no se genera un acarreo, porque éste ya se hizo en la suma original. Para resumir el procedimiento de suma BCD: 1. Mediante ol uso de ta suma binaria ordinaria se suman los grupos de eédigo BCD pata la posicién de cada digito, 2. Para las posiciones en las que la suma sea 9 0 menos, no se necesita correccién. La suma se encuentra en e] formato BCD apropiado. 3. Cuando la suma de dos digitos es mayor de 9, debe agregarse una eorreceién de 0110 a esa suma para obtener el resultado BCD apropiado, Este caso siempre produce un acarreo hacia la posici6n del siguiente digito, ya sea de la suma ori- ginal (paso 1) o de la suma de correccion. Es evidente que el procedimiento para Ia suma en BCD es mas complicado que Ja suma binaria directa. Esto también es cierto en las demas operaciones aritméti- cas en BCD. Debera realizar la suma de 275 ~ 641. Después compruebe el procedi- miento correcto como sigue. 275 001001110101. — BCD para el 275 +641 +0110 0100 _ 0001. — BCD parael 641 916 © 100010110110 + Se realiza la suma + 110 = Se suman 6 para corregir el segundo digito 100100010110 — BCD para et 916 Resta BCD El proceso de restar nuimeros en BCD es mucho mas dificil que la suma, ya que implica un procedimiento de complementar y después sumar, similar al del metodo de complemento a 2, por lo que no lo cubriremos en este libro. ee 6-8 ARITMETICA HEXADECIMAL Los mimeros hexadecimales se utilizan de manera extensa en la programacién de computadoras en lenguaje méquina y en conjunto con las memorias de computa- dora (es decir, como direcciones). Cuando trabaje en estas dreas se encontrar con situaciones en la que debaa sumarse o restarse nlimeros hexadecimales. Suma hexadecimal La suma de niimeros hexadecimales se realiza en forma muy parecida a la suma decimal, siempre y cuando se tenga en cuenta que el digito hexadecimal mas grande es F en vez de 9. Se sugiere el siguiente procedimiento: 1, Se suman los dos digits hexadecimales en decimal, insertando mentalmente el equivalente decimal para los digitos mayores de 9. SeccION 6-8/ARITMETICA TEXADECIMAL a5 2. Sila suma es de 15 o menor, puede expresarse en forma directa como un digito hexadecimal, 3. Si la suma es mayor o igual a 16, se restan 16 y se acarrea un 1 hacia la posicién del siguiente digito. ‘Los siguientes ejemplos ilustrarén este procedimiento. PEs ‘Sume los nimeros hexadecimales 58 y 24. Solucién 38 +H 76 Al sumar los LSDs (8 y 4) se obtiene un 12, que viene siendo C en hexadecimal. No hay acarreo hacia la posicién del siguiente digito. Al sumar 5 y 2 se produce un 7. ‘Sume los niimeros hexadecimales 58 y 4B. Solucién 58 + 4B “3 Se empieza por sumar 8 y B, sustituyendo mentalmente el 11 decimal por B. Esto produce una suma de 19. Como 19 es mayor que 16, se restan 16 y se obtiene un 3; se anota el3 y se acarrea un 1 hacia la siguiente posicién. Este acarreo se suma al 5 y al 4 para producir una suma de 10,9, que después se convierte en la A hexadecimal, Einar) Sume 3AF y 230. Solucién 3AF + BC - ‘SEB ‘La suma de Fy C se considera como 15 + 12 ~ 2719. Como es mayor que 16, se restan 16 para obtener 119, que es B en hexadecimal, y se acarrea un 1 hacia la segunda posi cin, Se suma este acarreo con A y con 3 para obtener E. No hay acarreo en la posicién ‘MSD. Resta hexadecimal Recuerde que los ntimeros hexadecimales s6lo son una manera eficiente de repre- sentar numeros binaries. De esta forma, podemos restarlos utilizando el mismo método que para los nimeros binarios. Se saca el complemento a 2 del sustraendo hexadecimal y después se sua al minuendo; cualquier acarreo fuera de la posicion MSD se descarta. 316 Cartruo 6/ARITMETICA DIGITAL: OPERACIONES ¥ CIRCUTTOS 2Cémo encontramos el complemento a 2 de un niimero hexadecimal? Una manera es convertirlo en binario, sacar el complemento a 2 del equivalente binario y después convertirlo de yuelta en hexadecimal, Este proceso se ilustra a continua. PBAN —miimero hexadecimal 01117 0011 1010 se convierte en binario 1000. 1100 0110 <-sesaca el complemento a2 8C6 se convierte de yuelta en hexadecimal Hay un procedimiento més rapido: se resta cada digito hexadecimal de F; des- pués se le suma 1. Probemos esto para el mismo ntimero hexadecimal del ejemplo anterior. FOF F -7 -3 —A} © seresta cada digito de F 8 cs +1 © selesumat 6 « equivalente hexadecimal del complemento a2 Pruebe cualquiera de los procedimientos anteriores con el mimero hexadecimal 63. El resultado correcto para el eamplemento a 2 es 19D. Sia eS Se DLT Ei Reste 3A546 de 59216. Solucién Primero se convierte el sustimendo (3A5) en su forma de complemento a 2, utili: fondo cualquiera de la nétodos antes presentedoa El resultado 25 CSB, Después sc suma este resultado al minuendo (592): 592 + c5B JED ge desearia al acarres. Se ignora el acarreo de la suma de] MSD; el resultado es 1ED. Para demostrar que esto es correcto sumamos IED con 3A5 y comprobamos que sea igual a 59219. Representacin hexadecimal de niimeros con signo Los datos que se almacenan en la memoria funcional interna de una microcompu- tadora, 6 en un disco duro 0 CD-ROM, por lo general, se almacenan en bytes (grupos SeeciOn 6-9/CIRCUTTOS ARITMETICOS 317 TABLA 62 j Taye 3 — almacenados 0111010 3A +58 11100101, 55 29 1010111 7 +87 19000000 80 128 de ocho bits). Los bytes de datos que se almacenan en una posicién de memoria especifica se expresan a menudo en hexadecimal, ya que es mas eficiente y menos propenso a errores que expresarlo en binario. Cuando los datos consisten de niime- ros con signo, es titil poder reconocer si un valor hexadecimal representa a un niimero positivo o negativo, Por ejemplo, la tabla 6-2 lista los datos almacenados en un pequeio segmento de memoria que empieza en la direccién 4000. Cada posicién de memoria almacena un solo byte (ocho bits), que es el equriva- lente binario de un niimero decimal con signo. La tabla también muestra el equi- yalente hexadecimal de cada byte. Para un valor de datos negativo, cl bit de signo (MSB) del mimero binario seré 1; esto siempre hard que el MSD del mimero hexa- decimal sea 8 0 mayor. Cuando el valor de los datos sea positivo, el bit de signo seré un 0¥ el MSD del ntimero hexadecimal ser de 7 menor. Lo mismo se aplica sin importar cudntos digitos tenga el mimero hexadecimal, Cuando el MSD es de 8 0 ‘mavor, el miimero quo se estd representando es negative; cuando el MSD es de 7 0 menor, ‘el miimero es positive.

También podría gustarte