You are on page 1of 17

SUMA BINARIA

Figura 1: Suma binaria La suma o adicin binaria es anloga a la de los nmeros decimales. La diferencia radica en que en los nmeros binarios se produce un acarreo (carry) cuando la suma excede de uno mientras en decimal se produce un acarreo cuando la suma excede de nueve(9). Del grfico de la figura 1 podemos sacar las siguientes conclusiones: o Los nmeros o sumandos se suman en paralelo o en columnas, colocando un numero encima del otro. Todos los nmeros bajo la misma columna tienen el mismo valor posicional. El orden de ubicacin de los nmeros no importa (propiedad conmutativa).

Figura 2: Reglas para la suma binaria En la figura 2 se indican las reglas que rigen la suma binaria y en la figura 3 se muestra un circuito lgico llamado semisumador, que suma 2 bits (A y B) que genera un bit de suma y un bit de acarreo cuando este se produce. La operacin de un semisumador como el anterior mostrado en la figura se puede sintetizar mediante las siguientes 2 operaciones booleanas: S=A(xor)B (suma) Co=AB (acarreo) Para realizar una suma binaria donde se tenga presente un carry de entrada se debe implementar un circuito que tenga presente esta nueva variante; como es el caso del sumador completo. El sumador completo tiene 3 entradas que se suman y son: A, B, y Cin (entrada de arrastre), y las salidas habituales S y Co (suma y salida de arrastre)

Figura 3: Semisumador

Figura 4: Sumador completo

http://www.ladelec.com/teoria/electronica-digital/189-suma-binaria

Suma de nmeros Binarios Las posibles combinaciones al sumar dos bits son 0+0=0 0+1=1 1+0=1 1 + 1 = 10 100110101 + 11010101 1000001010 Operamos como en el sistema decimal: comenzamos a sumar desde la derecha, en nuestro ejemplo, 1 + 1 = 10, entonces escribimos 0 en la fila del resultado y llevamos 1 (este "1" se llama arrastre). A continuacin se suma el acarreo a la siguiente columna: 1 + 0 + 0 = 1, y seguimos hasta terminar todas la columnas (exactamente como en decimal). La suma binaria se puede realizar cmodamente siguiendo las tres reglas descritas: 1 Si el nmero de unos (en sentido vertical) es par el resultado es 0. 2 Si el nmero de unos (en sentido vertical) es impar el resultado es 1. 3 Acarreo tantos unos como parejas (completas) de nmeros 1 haya. Por ejemplo: 0 + 0=0, 0+1=1, 1+0=1, 1+1=10 se pone 0 y se acarrea un 1 a la posicin siguiente Hay que sumar 1010 (que en decimal es 10) y 1111 (que en decimal es 15). 10 + 15 = 25 10110 100100 10.1 +11100 + 10010 +11.01 110010 110110 101.11 1+1=1 0 + 1 =1 1 + 1 =10 Ejemplo: Sumar: 20 1 0 1 0 0 10 1 0 1 0 30 1 1 1 1 0 1+1=1

0 + 1 =1 1 + 1 =10 24 30 Ejemplo: Sumar: 30 0 1 1 1 1 0 20 1 0 1 0 0 50 1 1 0 0 1 0

Sustraccin en binario 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| 0|0|1| 1|1+1|0| 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, a la posicin siguiente. Veamos algunos ejemplos: 111 101 = 010 710 510 = 210 10001 01010 = 00111 1710 1010 = 710 11011001 10101011 = 00101110 21710 17110 = 4610 111101001 101101101 = 001111100 48910 36510 = 12410 Primer ejemplo: Hagamos la siguiente resta, 91 46 = 45, en binario: 1011011 0101110 = 0101101 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 un ordenador, 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! Ejercicio 5:

SUSTRACCIN O RESTA BINARIA En forma similar a la suma, es conveniente memorizar la siguiente Tabla de restar:

Cuando la tabla anterior se usa en la resta de cantidades de varios bits, se resta columna por columna de LSB a MSB y si aparece el caso de restar 0 - 1 se interpreta como si fuera 10 - 1, resultando un 1 y un acarreo negativo, o prstamo de 1 tomado de la siguiente columna. Ejemplos: 1) restar 101101 - 10101, es decir, 4510 - 2110 2) restar 11101 - 111, es decir, 2910 - 710 2.3.- 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. SISTEMA DE NUMERACIN DE COMPLEMENTO A LA BASE (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.

SISTEMA BINARIO * RESTA BINARIA La resta binaria es similar a la decimal con la diferencia de tener solo dos dgitos y teniendo en cuenta que al realizar las restas parciales entre 2 dgitos de idnticas posiciones, uno del minuendo y otro del sustraendo, si es el segundo excede al primero, se sustrae una unidad del digito de mas a la izquierda en el minuendo (si existe y vale 1), convirtindose este ultimo en 0 equivaliendo la unidad extrada a 1*2 en el minuendo de resta parcial que estamos realizando. Es 0 el digito siguiente a la izquierda, se busca en los sucesivos teniendo en cuenta que su valor se multiplica por 2 a cada desplazamiento a la derecha. * MULTIPLICACION BINARIA Consiste en multiplicar dicha fraccin por 2, obteniendo en la parte entera del resultado el primero de los 2 digitos binarios de la fraccin que buscamos. A continuacin, repetimos el mismo proceso con la parte fraccionaria del resultado anterior, obteniendo en la parte entera del nuevo resultado el segundo de los digitos buscados. Iteraremos sucesivamente de esta forma. Hasta que desaparezca la parte fraccionaria de los resultados parciales o hasta que tengamos los suficientes digitos binarios que nos permitan no sobrepasar un determinado error. En una fraccin binaria, al igual que en una decimal, puede aparecer un conjunto de digitos que se repitan periodica. * DIVISION BINARIA Este mtodo se utiliza para convertir nmeros enteros en decimal a su respectivo numero entro en binario. Se trata de dividir sucesivamente el numero decimal y los sucesivos cocientes entre 2, hasta que el cociente en una de las divisiones tome el valor 0. La unin de todos los restos obtenidos, escritos en orden inverso, nos proporciona el numero inicial expresado en el sistema binario.

SISTEMA HEXADECIMAL * DIVISION HEXADECIMAL Sirve para convertir nmeros decimales enteros a hexadecimal. Se divide el numero decimal y los cocientes sucesivos por 16 hasta obtener un cociente igual a 0. El... [continua]

http://www.buenastareas.com/ensayos/Suma-Binaria/1795016.html

SUMA DE NMEROS BINARIOS Tabla de sumar de nmeros binarios

Suma consecutiva de nmeros binarios de 1 en 1 hasta completar 10

Suma de dos nmeros binarios Sean los nmeros binarios 00102 y 01102 Primer paso De la misma forma que hacemos cuando sumamos nmeros del sistema decimal, esta operacin matemtica la comenzamos a realizar de derecha a izquierda, comenzando por los ltimos dgitos de ambos sumandos, como en el siguiente ejemplo:

En la tabla de suma de nmeros binarios podemos comprobar que 0 + 0 = 0 Segundo paso

Se suman los siguientes dgitos 1 + 1 = 10 (segn la tabla), se escribe el 0 y se acarrea o lleva un 1. Por tanto, el 0 correspondiente a tercera posicin de izquierda a derecha del primer sumando, adquiere ahora el valor 1.

Tercer paso Al haber tomado el 0 de la tercera posicin el valor 1, tendremos que sumar 1 + 1 = 10. De nuevo acarreamos o llevamos un 1, que tendremos que pasar a la cuarta posicin del sumando. Cuarto paso

El valor 1 que toma el dgito 0 de la cuarta posicin lo sumamos al dgito 0 del sumando de abajo. De acuerdo con la tabla tenemos que 1+ 0 = 1.

El resultado final de la suma de los dos nmeros binarios ser: 1 0 0 0.

http://www.asifunciona.com/informatica/af_binario/af_binario_5.htm

RESTA BINARIA

Figura 5: Resta binaria

La resta o sustraccin de nmeros binarios es similar a los nmeros decimales. La diferencia radica en que, en binario, cuando el minuendo es menor que el sustraendo, se produce un prstamo o borrow de 2, mientras que en decimal se produce un prstamo de 10. Al igual que en la suma, el proceso de resta binaria, se inicia en la columna correspondiente a la de los dgitos menos significativos. En la figura 5 se indican las reglas que rigen la resta binaria y en la figura 6 se muestra un circuito lgico, llamado semirrestador (HS), que sustrae un B de un bit A y suministra un bit de diferencia (Di) y un bit de prstamo (Bo).

La operacin de un Semirrestador como el mostrado en la figura anterior se puede resumir mediante las 5 ecuaciones booleanas: Di=AB(neg)+A(neg)B= A(xor)B (diferencia) Bi=A(neg).B (borrow) En la figura siguiente se muestra el proceso de resta de 2 nmeros binarios de 5 bits. El objeto de esta operacin es ilustrar el manejo de los prstamos y plantear la necesidad de un restador completo de 2 bits que tenga, como entradas, el minuendo, el sustraendo, y el prstamo anterior y ofrezca como salidas, la diferencia y el prstamo, si existe. En la figura 7 se muestra el diagrama de bloques, conexin en bloques utilizando semirrestadores y una puerta OR y el diagrama lgico de un restador completo.

Figura 6: Semirrestador

Figura 7: Restador completo

http://www.ladelec.com/teoria/electronica-digital/190-resta-binaria

Ampliacin de Estructura de Computadores. Curso 2010-11 3 de Ingeniera Informtica. Vicente Arnau Llombart 12/11/2010

Divisores Binarios.
La operacin de divisin es algo ms compleja que la multiplicacin, pero tambin se realiza en la mayora de computadores mediante un circuito sumador/restador y algn algoritmo adecuado. Dado dos operandos, el dividendo D y el divisor d, el objetivo de la divisin es calcular el cociente Q y el resto R tal que D = d *Q + R con la condicin de que el resto sea menor que el divisor, es decir 0Rd. Los circuitos que realizan la multiplicacin y la divisin son anlogos, pues el producto se puede realizar por sumas sucesivas y el cociente se puede realizar mediante restas sucesivas. Vamos a ver

primero el mtodo de lpiz y papel para los nmeros binarios positivos. Para ello seguiremos el siguiente algoritmo: 1. Examinar los bits del dividendo de izquierda a derecha hasta encontrar una cadena mayor que el divisor. 2. Se coloca un 1 en el cociente y se procede a restar el divisor al dividendo. 3. Ahora empieza unas acciones cclicas: al resto se le aade una cifra del dividendo, si no es mayor que el divisor se aade un 0 al cociente y se baja otra cifra; as hasta que el nuevo resto sea mayor que el divisor y entonces se aade un 1 al cociente y se procede a restar el divisor del resto actual. 4. Este proceso se repite hasta que se acaban todos los bits del dividendo. Ejemplo: D = 39 = 1 0 0 1 1 1 d = 6 = 1 1 0 1 0 0 1 1 1 | 1 1 0 1 1 0 no resta 0 1 1 0 Cociente resto parcial 1 0 0 1 1 1 0 resta resto parcial 0 0 1 1 1 1 1 0 resta resto parcial 0 0 0 0 1 1 1 1 0 no resta Resto 0 0 0 0 1 1 Cociente = 6 = 1 1 0 Resto = 3 = 1 1 El algoritmo de la divisin se basa en prueba y error. Al igual que con los nmeros en decimal, la divisin binaria busca el nmero que multiplicado por el divisor nos da el mayor nmero que se puede restar al dividendo sin que nos d un valor negativo. En la divisin binaria los valores a probar son siempre o el uno o el cero, primero probamos con el uno esto nos har restar al dividendo el divisor, eligiendo los Ampliacin de Estructura de Computadores. Curso 2010-11 3 de Ingeniera Informtica. Vicente Arnau Llombart 12/11/2010

bits adecuados, si la resta es negativa en vez de un uno cambiamos por un cero y bajamos una nueva cifra, si el resultado fue positivo dejamos el valor de la resta al cual se le aade una nueva cifra del dividendo y seguimos con la operacin. Pero a la hora de realizar un circuito digital que realice la divisin es mejor cambiar un poco el mtodo y en vez de desplazar el divisor a la derecha, desplazaremos el resto parcial a la izquierda ( en la prctica es como multiplicarlo por 2) y operamos con el divisor fijo. Veamos como realizaramos la anterior divisin con esta variante al mtodo propuesto. Ejemplo: D = 39 = 1 0 0 1 1 1 d = 6 = 1 1 0 1 0 0 1 1 1 | 1 1 0 1 1 0 no resta 0 1 1 0 Cociente R1 1 0 0 1 1 1 2*R1 1 0 0 1 1 1 0 1 1 0 resta R2 0 1 1 1 1 0 2*R2 0 1 1 1 1 0 0 1 1 0 resta R3 0 0 1 1 1 0 2*R3 0 0 1 1 1 0 0 1 1 0 no resta Resto 0 1 1 Cociente = 6 = 1 1 0 Resto = 3 = 1 1 El problema es que el ltimo resto parcial Rn no contiene exactamente el resto, pues el valor verdadero se calcula como

R = Rn * 2-n
Est claro que es ms difcil de automatizar la divisin debido al proceso de ensayo. Las tareas a realizar por el circuito son: acomodar metdicamente el divisor con relacin al dividendo y realizar una sustraccin, en complemento a dos. Si el resultado es cero o positivo, se pone el bit cociente como 1, el resultado de la resta se ampla con otro dgito del dividendo y el divisor se acomoda para otra sustraccin. Esta tcnica se realiza utilizando una estructura de registro similar a la que se utiliz para realizar la multiplicacin, y se muestra en el circuito de la hoja siguiente. Ejemplo: Realizar segun el mtodo de la divisin con restauracin el siguiente cociente: D/d. D = 8 (1000) d = 3 (0011) con (-3) = (1101) Ac D d Inicialmente: 0000 1000 0011 Finalmente: 0010 0010 0011 resto cociente Ampliacin de Estructura de Computadores. Curso 2010-11 3 de Ingeniera Informtica. Vicente Arnau Llombart 12/11/2010

Divisin por el mtodo de restauracin. Tal como se ha indicado, para evitar la utilizacin de circuitos comparadores de elevado coste, la comparacin se realiza entre el dividendo y el divisor se realiza mediante una resta. Al realizar la resta, una respuesta positiva indica que el divisor es ms pequeo, y se coloca un 1 en el cociente. Una respuesta negativa indica que el divisor es mayor y por tanto que la resta no era necesaria, por lo que hay que volver a sumar el divisor al dividendo. A esta operacin se le llama restaurar el valor original del dividendo, dndole nombre al mtodo. Todo este proceso se puede realizar sobre la estructura de registros vistos anteriormente y utilizando el algoritmo descrito a continuacin: Ampliacin de Estructura de Computadores. Curso 2010-11 3 de Ingeniera Informtica. Vicente Arnau Llombart 12/11/2010 Ampliacin de Estructura de Computadores. Curso 2010-11 3 de Ingeniera Informtica. Vicente Arnau Llombart 12/11/2010

Divisin sin restauracin. Es posible acelerar este algoritmo mediante la eliminacin de la restauracin que implica una suma para volver a recobrar un dato. Para ello debemos darnos cuenta de que si la restauracin la escribimos como

(Rj)A <-- (Rj)A + d (1)


esta va seguida siempre de un desplazamiento (*2) y una resta

(Rj+1)A <-- (2*Rj)A - d (2)


donde 2* corresponde a un desplazamiento a izquierda de los registros A y Q. Estas dos ecuaciones pueden combinarse en una sola para la obtencin de los sucesivos restos parciales sobre el registro R:

(Rj+1)A <-- (2*Rj)A - d = 2 * ((Rj)A + d ) - d (3)


En esta idea se basa el mtodo de la no restauracin, en que si el bit Qn-i = 1 el resto parcial se evala segun la ecuacin (2) y Qn-i = 0 el resto parcial se evala segun la ecuacin (3). En la figura siguiente se muestra el algoritmo de mtodo de no restauracin. Ampliacin de Estructura de Computadores. Curso 2010-11 3 de Ingeniera Informtica. Vicente Arnau Llombart 12/11/2010 Ampliacin de Estructura de Computadores. Curso 2010-11 3 de Ingeniera Informtica. Vicente Arnau Llombart 12/11/2010

Ejemplo: Realizar segun el mtodo de la divisin sin-restauracin el siguiente cociente: D/d. D = 8 (1000) d = 3 (0011) con (-3) = (1101) Ac D d Inicialmente: 0000 1000 0011 Finalmente: 0010 0010 0011 resto cociente Por otra parte hay que destacar que no existen algoritmos simples que efecten la divisin de nmeros con signo y que se puedan comparar con la multiplicacin. Se necesitar un procesado previo de los operandos y un procesamiento posterior de los resultados. Aunque siempre se podrn transformar los operandos en valores positivos, utilizar uno de los algoritmos antes analizados y transformar los resultados en los

valores correctos con el signo que se necesite.

You might also like