Aritmetica Binaria
Aritmetica Binaria
Aritmetica Binaria
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.
13 10 + 37 10 ------------= 50 10
10001 01010 --------------= 00111 11011001 10101011 --------------------= 00101110 111101001 101101101 ----------------------= 001111100
1710 1010 ----------= 710 21710 17110 -----------= 4610 48910 36510 -------------= 12410
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.
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:
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!
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
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