Suma de nmeros binarios Resta de nmeros binarios Complemento a dos Complemento a uno Restar con el complemento a dos Multiplicar nmeros binarios Dividir nmeros binarios La Unidad Aritmtico Lgica, en la CPU del procesador, es capa de realiar operaciones aritmticas, con datos numricos e!presados en el sistema binario" #aturalmente, esas operaciones inclu$en la adicin, la sustraccin, el producto $ la divisin" Las operaciones se %acen del mismo modo &ue en el sistema decimal, pero debido a la sencille del sistema de numeracin, pueden %acerse algunas simpli'icaciones &ue 'acilitan muc%o la realiacin de las operaciones" Suma en binario Para aprender a sumar, con cinco o seis a(os de edad, tuviste &ue memoriar las )** combinaciones posibles &ue pueden darse al sumar dos d+gitos decimales" La tabla de sumar, en binario, es muc%o m,s sencilla &ue en decimal" Slo %a$ &ue recordar cuatro combinaciones posibles- . * ) * * ) ) ) * . ) Las sumas * . *, * . ) $ ) . * son evidentes- 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 Pero la suma de ).), &ue sabemos &ue es / en el sistema decimal, debe escribirse en binario con dos ci'ras 0)*1 $, por tanto ).) es * $ se arrastra una unidad, &ue se suma a la posicin siguiente a la i&uierda" 2eamos algunos e3emplos- 010 + 101 = 111 10 + ! 10 = " 10 001101 + 100101 = 110010 1# 10 + #" 10 = !0 10 1011011 + 1011010 = 10110101 $1 10 + $0 10 = 1%1 10 110111011 + 100111011 = 1011110110 &&# 10 + #1! 10 = "!% 10 '(ercicio 1) Realia las siguientes sumas de nmeros binarios- 111011 + 110 111110111 + 111001 10111 + 11011 + 10111 Sustracci*n en binario La tcnica de la resta en binario es, nuevamente, igual &ue la misma operacin en el sistema decimal" Pero conviene repasar la operacin de restar en decimal para comprender la operacin binaria, &ue es m,s sencilla" Los trminos &ue intervienen en la resta se llaman minuen+o, sustraen+o $ +i,erencia" 4 * ) * * ) ) ) . ) * Las restas * 4 *, ) 4 * $ ) 4 ) son evidentes- 0 - 0 = 0 1 - 0 = 1 1 - 1 = 0 La resta * 4 ) se resuelve, igual &ue en el sistema decimal, tomando una unidad prestada de la posicin siguiente- )* 4 ), es decir, / )* 5 ) )* 6 )" 7sa unidad prestada debe devolverse, sum,ndola, a la posicin siguiente" 2eamos algunos e3emplos- 111 - 101 = 010 " 10 - ! 10 = 10 10001 - 01010 = 00111 1" 10 - 10 10 = " 10 11011001 - 10101011 = 00101110 1" 10 - 1"1 10 = &. 10 111101001 - 101101101 = 001111100 &%$ 10 - #.! 10 = 1& 10 '(ercicio ) Realia las siguientes restas de nmeros binarios $ comprueba los resultados convirtindolos al sistema decimal- 111011 / 110 111110111 / 111001 1010111 / 11011 - 10011 A pesar de lo sencillo &ue es el procedimiento de restar, es 'acil con'undirse" 8enemos interioriado el sistema decimal $ %emos aprendido a restar mec,nicamente, sin detenernos a pensar en el signi'icado del arrastre" Para simpli'icar las restas $ reducir la posibilidad de cometer errores %a$ varias soluciones- 0i1i+ir los nmeros lar2os en 2rupos" 7n el siguiente e3emplo, vemos cmo se divide una resta larga en tres restas cortas- )**))**)))*) )**) )**) ))*) *)*)*)))**)* *)*) *))) **)* *)****)*)*)) *)** **)* )*)) Calculan+o el complemento a +os +el sustraen+o i3 Complemento a +os 7l complemento a dos de un nmero N, compuesto por n bits, se de'ine como- C 2N = 2 n N 2eamos un e3emplo- tomemos el nmero N = 101101 2 , &ue tiene 9 bits, $ calculemos su complemento a dos- N = 45 10 n = 6 2 6 = 64 $, por tanto- C 2N = 64 45 = 19 = 010011 2 '(ercicio #) Calcula el complemento a dos de los siguientes nmeros- 110014 100010114 110011010 ii3 Complemento a uno 7l complemento a uno de un nmero N, compuesto por n bits es, por de'inicin, una unidad menor &ue el complemento a dos, es decir- C 1N = C 2N - 1 $, por la misma ran- C 2N = C 1N + 1 Calculemos el complemento a uno del mismo nmero del e3emplo anterior- siendo N = 101101, $ su complemento a dos C 2N = 010011 C 1N = C 2N 1 = 010011 000001 = 010010 C 1N = 010010 Da la sensacin de &ue calcular el complemento a uno no es m,s &ue una 'orma elegante de comlicarse la vida, $ &ue no va a ser m,s sencillo restar utiliando el complemento a dos, por&ue el procedimiento para calcular el complemento a dos es m,s di'+cil $ laborioso &ue la propia resta" Pero es muc%o m,s sencillo de lo &ue parece" 7n realidad, el complemento a uno de un nmero binario es el nmero resultante de invertir los U#:S $ C7R:S de dic%o nmero" Por e3emplo si- N = 110100101 obtenemos su complemento a uno invirtiendo ceros $ unos, con lo &ue resulta- C 1N = 001011010 $ su complemento a dos es- C 2N = C 1N + 1 = 001011011 ;es mu$ ',cil< 2eamos otro e3emplo de c,lculo de complementos" Sea- N = 0110110101 7l complemento a uno es- C 1N = 1001001010 $ el complemento a dos es- C 2N = 1001001011 iii3 Restar en binario usan+o el complemento a +os =, por 'in, vamos a ver cmo 'acilita la resta el complemento" La resta binaria de dos nmeros puede obtenerse sumando al minuendo el complemento a dos del sustraendo" 2eamos algunos e3emplos- 5rimer e(emplo) >agamos la siguiente resta, $1 - &. = &!, en binario- 1011011 0101110 = 0101101 8iene alguna di'icultad, cuando se acumulan los arrastres a la resta siguiente" Pero esta misma resta puede %acerse como una suma, utiliando el complemento a dos del sustraendo- 1011011 + 1010010 = 0101101 7n el resultado de la suma nos sobra un bit, &ue se desborda por la i&uierda" Pero, como el nmero resultante no puede ser m,s largo &ue el minuendo, el bit sobrante se desprecia" Se2un+o e(emplo) >agamos esta otra resta, 1$ - # = 1$., utiliando el complemento a dos- 219 10 = 11011011 2 , 23 10 = 00010111 2 C 223 = 11101001 7l resultado de la resta ser,- 11011011 + 11101001 = 111000100 =, despreciando el bit &ue se desborda por la i&uierda, llegamos al resultado correcto- 11000100 2 = 196 10 ;?u ',cil< '(ercicio &) >a las siguientes restas binarias utiliando la tcnica del complemento a dos" Al terminar, comprueba los resultados %aciendo la resta en el sistema decimal- 11010001101 1000111101 10110011101 - 1110101 Multiplicaci*n binaria La multiplicacin en binario es m,s ',cil &ue en cual&uier otro sistema de numeracin" Como los 'actores de la multiplicacin slo pueden ser C7R:S o U#:S, el producto slo puede ser C7R: o U#:" 7n otras palabras, las tablas de multiplicar del cero $ del uno son mu$ ',ciles de aprender- ! * ) * * * ) * ) 7n un ordenador, sin embargo, la operacin de multiplicar se realia mediante sumas repetidas" 7so crea algunos problemas en la programacin por&ue cada suma de dos U#:S origina un arrastre, &ue se resuelven contando el nmero de U#:S $ de arrastres en cada columna" Si el nmero de U#:S es par, la suma es un C7R: $ si es impar, un U#:" Luego, para determinar los arrastres a la posicin superior, se cuentan las pare3as de U#:S" 2eamos, por e3emplo, una multiplicacin- Para comprobar &ue el resultado es correcto, convertimos los 'actores $ el resultado al sistema decimal- 3349 * 13 = 43537 ;correcto< '(ercicio !) >a las siguientes multiplicaciones binarias" Al terminar, comprueba los resultados %aciendo las multiplicaciones en el sistema decimal- 10110101000101 1011 10100001111011 10011 0i1isi*n binaria @gual &ue en el producto, la divisin es mu$ ',cil de realiar, por&ue no son posibles en el cociente otras ci'ras &ue U#:S $ C7R:S" Consideremos el siguiente e3emplo, & ) . = ", en binario- Se intenta dividir el dividendo por el divisor, empeando por tomar en ambos el mismo nmero de ci'ras 0)** entre ))*, en el e3emplo1" Si no puede dividirse, se intenta la divisin tomando un d+gito m,s 0)**) entre )**1" Si la divisin es posible, entonces, el divisor slo podr, estar contenido una 1e6 en el dividendo, es decir, la primera ci'ra del cociente es un U#:" 7n ese caso, el resultado de multiplicar el divisor por ) es el propio divisor" Restamos las ci'ras del dividendo del divisor $ ba3amos la ci'ra siguiente" 7l procedimiento de divisin contina del mismo modo &ue en el sistema decimal" '(ercicio !) >a las siguientes divisiones binarias" Al terminar, comprueba los resultados %aciendo las divisiones en el sistema decimal- 10110101000101 ! 1011 10100001111011 ! 10011 7uis 8on69le6 5ro,esor +e Tecnolo2:as +e la In,ormaci*n I3'3S3 Santa 'u2enia ;Ma+ri+< '='RCICIOS a+icionales )" Realia las siguientes sumas de nmeros octales- A9B . /A /CA/ . )/9B 9B . )CCA /" Suma los siguientes nmeros %e!adecimales- )CA . AC /*DB . A)E /7C*C . )AACD A" Resta los siguientes nmeros octales- A9B 4 /A /CA/ 4 )/9B )CCA 5 9B F" Realia las siguientes restas de nmeros %e!adecimales- )CA 4 AC /*DB 4 A)E /7C*C 5 )AACD