You are on page 1of 11

ARITMTICA BINARIA

Operaciones elementales con nmeros binarios


1. Suma de nmeros binarios

2. Resta de nmeros binarios 2.1. Representacin de nmeros negativos 2.2. Complemento a dos 2.3. Complemento a uno 2.4. Restar con el complemento a dos 3. Multiplicar nmeros binarios 4. Dividir nmeros binarios La Unidad Aritmtico Lgica, en la CPU del procesador, es capaz de realizar operaciones aritmticas, con datos numricos expresados en el sistema binario. Naturalmente, esas operaciones incluyen la adicin, la sustraccin, el producto y la divisin. Las operaciones se hacen del mismo modo que en el sistema decimal, pero debido a la sencillez del sistema de numeracin, pueden hacerse algunas simplificaciones que facilitan mucho la realizacin de las operaciones.

Suma de nmeros binarios


Para aprender a sumar, con cinco o seis aos de edad, tuviste que memorizar las 100 combinaciones posibles que pueden darse al sumar dos dgitos decimales. La tabla de sumar, en binario, es mucho ms sencilla que en decimal. Slo hay que recordar cuatro combinaciones posibles: + 0 1 Las sumas 0 + 0, 0 + 1 y 1 + 0 son evidentes: 0+0=0 0+1=1 1+0=1 Pero la suma de 1+1, que sabemos que es 2 en el sistema decimal, debe escribirse en binario con dos cifras (10) y, por tanto 1+1 es 0 y se arrastra (acarreo) una unidad, que se suma a la posicin siguiente a la izquierda. Veamos algunos ejemplos: 0 0 1 1 1 0 y acarreo 1

010 + 101 -----------= 111

210 + 510 ---------= 710

001101 + 100101 -------------------= 110010

13 10 + 37 10 ------------= 50 10

1011011 + 1011010 -----------------------= 10110101

91 10 + 90 10 --- -- --- -- -= 181 10

110111011 + 100111011 ----------------------------= 1011110110

443 10 + 315 10 --- -- --- -- -- = 758 10

Resta de nmeros binarios


La tcnica de la resta en binario es, nuevamente, igual que la misma operacin en el sistema decimal. Pero conviene repasar la operacin de restar en decimal para comprender la operacin binaria, que es ms sencilla. Los trminos que intervienen en la resta se llaman minuendo, sustraendo y diferencia. 0 1 Las restas 0 - 0, 1 - 0 y 1 - 1 son evidentes: 00=0 10=1 11=0 La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una unidad prestada de la posicin siguiente: 10 - 1, es decir, 210 110= 1. Esa unidad prestada debe devolverse, sumndola (acarreo), a la posicin siguiente. Veamos algunos ejemplos: 111 101 -----------= 010 7 10 5 10 ----------= 2 10 0 0 1 y acarreo 1 1 1 0

10001 01010 --------------= 00111 11011001 10101011 --------------------= 00101110 111101001 101101101 ----------------------= 001111100

1710 1010 ----------= 710 21710 17110 -----------= 4610 48910 36510 -------------= 12410

Representacin de nmeros negativos


En la construccin de dispositivos digitales que realicen operaciones de resta se puede obtener un considerable ahorro si esta operacin es realizada mediante los mismos dispositivos que realizan la suma, de esta manera no es necesario construir dos tipos de dispositivos, y el problema se convierte ms bien en cmo manejar adecuadamente los nmeros negativos para realizar restas usando sumas.

Magnitud signada
El mtodo de representacin de nmeros negativos que consiste en anteponer un signo - al valor absoluto de la cantidad se le llama magnitud signada y es el mtodo tradicionalmente usado en decimal, ya que est pensado en su manipulacin por humanos. Ejemplos: -510, -10112, .5EH, ... etc. La principal desventaja del mtodo de magnitud signada es que requiere de dos mtodos diferentes, uno para la suma y otro para la resta.

Complemento a dos
Un mtodo de representacin de cantidades negativas que permite realizar restas mediante sumas consiste en representar los nmeros negativos por su complemento, es decir, por lo que les falta para cierta cantidad tomada como base. En el sistema de numeracin de complemento a la base r, los nmeros negativos de n dgitos se representan por la cantidad que les falta para completar r n. Es decir, en este sistema, la cantidad Nr se representa por su complemento, es decir, como r n-N y en ocasiones se denota [N] r. Es decir, El complemento a dos de un nmero N, compuesto por n bits, se define como: C2N = 2n N

Veamos un ejemplo: tomemos el nmero N = 1011012, que tiene 6 bits, y calculemos su complemento a dos: N = 4510 n=6 26 = 64 y, por tanto: C2N = 64 45 = 19 = 0100112

Observacin: En el sistema de complemento a dos los nmeros positivos se escriben sin ningn cambio.

Obtencin de complementos binarios sin usar restas


La ventaja que provee el sistema de complementos al convertir una resta en una suma no sera tal si para obtener el complemento usamos la definicin, ya que esta requiere una resta. A continuacin se describen dos algoritmos que permiten obtener el complemento a 2 sin usar restas: Algoritmo 1. Usando complemento a uno 1. Se obtiene el complemento a 1 del nmero invirtiendo todos sus bits. 2. Se suma 1 al resultado anterior. En realidad, el complemento a uno de un nmero binario es el nmero resultante de invertir los UNOS y CEROS de dicho nmero. Ejemplo: N = 110100101 obtenemos su complemento a uno invirtiendo ceros y unos, con lo que resulta: C1N = 001011010 y su complemento a dos es: C2N = C1N + 1 = 001011011 es muy fcil! Ejemplo: N = 0110110101 El complemento a uno es: C1N = 1001001010

y el complemento a dos es: C2N = 1001001011 Algoritmo 2 1. Se copian los bits del nmero de bit menos significativo a bit mas significativo hasta encontrar el primer bit 1. 2. Se prosigue invirtiendo los bits restantes (es decir, cambiando 1s por 0s y 0s por 1s) hasta llegar al bit ms significativo.

Ejemplo. Para obtener el complemento a 2 de N = 10110100 se copian los primeros bits hasta el primer 1: se invierten los bits restantes: resultando finalmente:

100 01001 01001100

Bit de signo (S)


En el sistema de numeracin de complemento a dos el bit ms significativo se denomina bit de signo y se usa para indicar el signo del nmero representado, de acuerdo a la siguiente convencin: S = 0 El nmero es positivo y el resto de los bits indica su magnitud directamente. S = 1 El nmero es negativo y est en la forma complementada Ejemplo: Expresar +5 y -5 en una palabra de 8 bits en el sistema de complemento a 2. + 5 es positivo y se expresar directamente por su magnitud en binario: 0000101 - 5 es negativo y estar expresado en la forma de complemento a 2 como: +5=00000101 Complemento a 2: 1 1 1 1 1 0 1 1 = - 510 Obsrvese que de acuerdo a esta convencin del sistema de complemento a dos, al aplicar el complemento a 2 a un nmero binario, equivale a cambiarle el signo (multiplicar por -1). Ejemplo: 11010112 es un nmero de 7 bits, incluyendo el bit signo. Cul es su equivalente decimal? Como el bit signo es = 1, el nmero es negativo y se encuentra en su forma complementada. 1 1 0 1 0 1 1 : nmero negativo 0 0 1 0 1 0 1 : valor absoluto (complemento a dos del nmero) 21 : equivalente decimal del complemento entonces: 1 1 0 1 0 1 12 = -2110 Ejemplo: 011010112 es un nmero de 8 bits, incluyendo el bit signo. Cul es su equivalente decimal?. Como el bit signo es = 0, el nmero es positivo y el resto de los bits indican su magnitud. 0 1 1 0 1 0 1 1 : nmero positivo 0 1 1 0 1 0 1 1 : valor absoluto entonces: 0 1 1 0 1 0 1 12 =+10710

Restar en binario usando el complemento a dos


Y, por fin, vamos a ver cmo facilita la resta el complemento. La resta binaria de dos nmeros puede obtenerse sumando al minuendo el complemento a dos del sustraendo. Veamos algunos ejemplos: Ejemplo: Hagamos la siguiente resta, 9 1 4 6 = 4 5 91 = 10110112 46 = 01011102 obtenemos el complemento a 2 del sustraendo (-46): 1010010, y lo sumamos al minuendo 1011011 + 1010010 ---------------= 10101101 En el resultado de la suma nos sobra un bit, que se desborda por la izquierda. Pero, como el nmero resultante no puede ser ms largo que el minuendo, el bit sobrante se desprecia. El resultado es: 1011012 = 4510 Ejemplo: Hagamos esta otra resta, 219 23 = 196 219 = 11011011 23 = 00010111 obtenemos el complemento a 2 del sustraendo (-23): 1 1 1 0 1 0 0 1 , y lo sumamos al minuendo 11011011 + 11101001 -----------------= 111000100 Y, despreciando el bit que se desborda por la izquierda, llegamos al resultado correcto: 110001002 = 19610

Multiplicacin binaria
La multiplicacin en binario es ms fcil que en cualquier otro sistema de numeracin. Como los factores de la multiplicacin slo pueden ser CEROS o UNOS, el producto slo puede ser CERO o UNO. En otras palabras, las tablas de multiplicar del cero y del uno son muy fciles de aprender:

x 0 1

0 0 0

1 0 1

En una computadora, sin embargo, la operacin de multiplicar se realiza mediante sumas repetidas. Eso crea algunos problemas en la programacin porque cada suma de dos UNOS origina un arrastre, que se resuelven contando el nmero de UNOS y de arrastres en cada columna. Si el nmero de UNOS es par, la suma es un CERO y si es impar, un UNO. Luego, para determinar los arrastres a la posicin superior, se cuentan las parejas de UNOS. Veamos, por ejemplo, una multiplicacin:

Para comprobar que el resultado es correcto, convertimos los factores y el resultado al sistema decimal: 3349 * 13 = 43537 correcto!

Multiplicacin por sumas y corrimientos


Como se puede observar en el ejemplo, la multiplicacin puede realizarse en una forma ms sistematizada como se indica enseguida, de acuerdo a los bits del multiplicador, comenzando por el bit menos significativo hacia el bit ms significativo. El algoritmo descrito a continuacin es especialmente til si la multiplicacin va a ser realizada por una mquina digital (circuitos o computadora digital).

Algoritmo 1) 2) 3) 4) Si el primer bit en el multiplicador es 1, anote el multiplicando como resultado parcial. Si el primer bit del multiplicador es 0; anote ceros como resultado parcial. Se recorre el multiplicando un lugar a la izquierda. Por cada 1 en el multiplicador despus del primer bit sume el multiplicando al resultado parcial. Enseguida recorra el multiplicando un lugar a la izquierda. 5) Por cada cero en el multiplicador despus del primer bit, no sume, nicamente recorra el multiplicando un lugar a la izquierda. 6) Repita el procedimiento hasta incluir todos los bits del multiplicador. Ejemplo: 0 0 1 0 0 0 1 multiplicando = 17 0 0 1 1 0 0 1 multiplicador = 25 -----------------0010001 + 0010001- ------------------------0010011001 + 0010001--------------------------0 0 1 1 0 1 0 1 0 0 1 Producto = 425 * Comprobando en decimal: 17 * 25 = 425

Divisin binaria
Igual que en el producto, la divisin es muy fcil de realizar, porque no son posibles en el cociente otras cifras que UNOS y CEROS. Consideremos el siguiente ejemplo, 42 : 6 = 7, en binario:

Se intenta dividir el dividendo por el divisor, empezando por tomar en ambos el mismo nmero de cifras (101 entre 110, en el ejemplo). Si no puede dividirse, se intenta la divisin tomando un dgito ms (1010 entre 110). Si la divisin es posible, entonces, el divisor slo podr estar contenido una vez en el dividendo, es decir, la primera cifra del cociente es un UNO. En ese caso, el resultado de multiplicar el divisor por 1 es el propio divisor. Restamos las cifras del dividendo del divisor y bajamos la cifra siguiente. El procedimiento de divisin contina del mismo modo que en el sistema decimal. Ejercicio 7: Haz las siguientes divisiones binarias. Al terminar, comprueba los resultados haciendo las divisiones en el sistema decimal: 1. 10101011101 : 10101 2. 11111111000 : 11000 3. 10000011111 : 10001

Divisin por restas y corrimientos


En forma similar a la multiplicacin, la divisin se puede sistematizar para realizarla por restas y corrimientos. En este algoritmo el cociente es obtenido bit por bit, as, cada siguiente slo puede ser 0 1. As comenzando de izquierda a derecha, si se puede substraer el divisor del dividendo, se anotar un 1 en el cociente, en caso contrario el dgito ser 0. Despus de cada paso se hace un corrimiento del divisor hacia la derecha. Ejemplo: La divisin 57 /3:

EJERCICIOS PROPUESTOS Ejercicio 1: Realiza las siguientes sumas de nmeros binarios: 1. 2. 3. 4. 5. 111011 + 110 1111 + 1010 111110111 + 111001 10111 + 11011 + 10111 11000 + 11111 + 10101

Ejercicio 2: Realiza las siguientes restas de nmeros binarios y comprueba los resultados convirtindolos al sistema decimal: 1. 2. 3. 4. 5. 111011 - 110 111110111 111001 1011011 - 1100100 1010111 - 11011 - 10011 1110110 - 100100 - 100000

Ejercicio 3: Calcula el complemento a dos de los siguientes nmeros: 1. 2. 3. 4. 5. 110011101 100010111 110011010 101010100 100000111

Ejercicio 4: De los siguientes nmeros binarios de 8 bits (incluyendo el signo), determina cul es su equivalente decimal: 1. 2. 3. 4. 5. 11010111 00110011 11110000 01111101 10000001

Ejercicio 5: Haz las siguientes restas binarias utilizando la tcnica del complemento a dos. Al terminar, comprueba los resultados haciendo la resta en el sistema decimal: 1. 2. 3. 4. 5. 110100011010 1000111101 101100111010 1110101000 111000111000 101101101101 100101100101 100010100010 100010011000 - 100010000111

Ejercicio 6: Haz las siguientes multiplicaciones binarias. Al terminar, comprueba los resultados haciendo las multiplicaciones en el sistema decimal: 1. 2. 3. 4. 5. 10101110 x 1111 10010101 x 1011 1111000111 x 11000 1011010001 x 10110 1010001011 x 10010

Ejercicio 7: Haz las siguientes divisiones binarias. Al terminar, comprueba los resultados haciendo las divisiones en el sistema decimal: 1. 2. 3. 4. 5. 10110100101 : 10110 10100001011 : 10011 11100111101 : 11111 11101111000 : 11001 10101111110 : 10101

You might also like