ARITMÉTICA BINARIAOperaciones elementales con números binariosLa Unidad Aritmético Lógica, en la CPU del procesador, es ca...
Profesor: Julio Cesar Barreto García CORTE IOperamos como en el sistema decimal: comenzamos a sumar desde la derecha, en n...
Profesor: Julio Cesar Barreto García CORTE Ia) 20 1 0 1 0 010 1 0 1 030 1 1 1 1 02430b) 30 0 1 1 1 1 020 1 0 1 0 050 1 1 0...
Profesor: Julio Cesar Barreto García CORTE I10001 – 01010 = 00111 1 o bien 710 – 1010 = 71011011001 – 10101011 = 00101110 ...
Profesor: Julio Cesar Barreto García CORTE IA pesar de lo sencillo que es el procedimiento de restar, es facil confundirse...
Profesor: Julio Cesar Barreto García CORTE Iy, por la misma razón:C2N = C1N + 1Calculemos el complemento a uno del mismo n...
Profesor: Julio Cesar Barreto García CORTE Iiii. Restar en binario usando el complemento a dosY, por fin, vamos a ver cómo...
Profesor: Julio Cesar Barreto García CORTE IMULTIPLICACIÓN BINARIALa multiplicación en binario es más fácil que en cualqui...
Profesor: Julio Cesar Barreto García CORTE IPor ejemplo, en decimal si multipliquemos 22 por 9 = 19810110*1001—————————101...
Profesor: Julio Cesar Barreto García CORTE ISe intenta dividir el dividendo por el divisor, empezando por tomar en ambos e...
Profesor: Julio Cesar Barreto García CORTE IEjercicio 5: Haz las siguientes divisiones binarias. Al terminar, comprueba lo...
Profesor: Julio Cesar Barreto García CORTE IEJERCICIOS ADICIONALES1. Realiza las siguientes sumas de números octales:365 +...
Upcoming SlideShare
Loading in...5
×

Aritmética binaria julio barreto electronica digital

1,068

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,068
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
29
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Aritmética binaria julio barreto electronica digital

  1. 1. ARITMÉTICA BINARIAOperaciones elementales con números binariosLa Unidad Aritmético Lógica, en la CPU del procesador, es capaz de realizar operacionesaritméticas, con datos numéricos expresados en el sistema binario. Naturalmente, esasoperaciones incluyen la adición, la sustracción, el producto y la división. Las operacionesse hacen del mismo modo que en el sistema decimal, pero debido a la sencillez del sistemade numeración, pueden hacerse algunas simplificaciones que facilitan mucho la realizaciónde las operaciones.SUMA EN BINARIOPara aprender a sumar, con cinco o seis años de edad, tuviste que memorizar las 100combinaciones posibles que pueden darse al sumar dos dígitos decimales. La tabla desumar, en binario, es mucho más sencilla que en decimal. Sólo hay que recordar cuatrocombinaciones posibles:+ 0 10 0 11 1 0 + 1Las sumas 0 + 0, 0 + 1 y 1 + 0 son evidentes:0 + 0 = 00 + 1 = 11 + 0 = 1Pero la suma de 1+1, que sabemos que es 2 en el sistema decimal, debe escribirse enbinario con dos cifras (10) y, por tanto 1+1 es 0 y se arrastra una unidad, que se suma a laposición siguiente a la izquierda. Veamos el ejemplo:100110101+ 11010101——————1000001010
  2. 2. Profesor: Julio Cesar Barreto García CORTE IOperamos como en el sistema decimal: comenzamos a sumar desde la derecha, en nuestroejemplo, 1 + 1 = 10, entonces escribimos 0 en la fila del resultado y llevamos 1 (este "1" sellama arrastre). A continuación se suma el acarreo a la siguiente columna: 1 + 0 + 0 = 1, yseguimos hasta terminar todas la columnas (exactamente como en decimal).La suma binaria se puede realizar cómodamente siguiendo las tres reglas descritas: 1º Si elnúmero de unos (en sentido vertical) es par el resultado es 0. 2º Si el número de unos (ensentido vertical) es impar el resultado es 1. 3º Acarreo tantos unos como parejas(completas) de números 1 haya. Por ejemplo: 0 + 0=0, 0+1=1, 1+0=1, 1+1=10 se pone 0 yse acarrea un 1 a la posición siguiente Hay que sumar 1010 (que en decimal es 10) y 1111(que en decimal es 15). 10 + 15 = 2510110 100100 10.1+11100 + 10010 +11.01110010 110110 101.11Veamos algunos otros ejemplos:010 + 101 = 111 o bien 210 + 510 = 710001101 + 100101 = 110010 o bien 1310 + 3710 = 50101011011 + 1011010 = 10110101 o bien 9110 + 9010 = 18110110111011 + 100111011 = 1011110110 o bien 44310 + 31510 = 75810Ejercicio 1: Realiza las siguientes sumas de números binarios:a) 111011 + 110b) 111110111 + 111001c) 10111 + 11011 + 10111Ejemplos: Dados los decimales transformarlos a binarios y luego sumarlos:
  3. 3. Profesor: Julio Cesar Barreto García CORTE Ia) 20 1 0 1 0 010 1 0 1 030 1 1 1 1 02430b) 30 0 1 1 1 1 020 1 0 1 0 050 1 1 0 0 1 050SUSTRACCIÓN EN BINARIOLa técnica de la resta en binario es, nuevamente, igual que la misma operación en el sistemadecimal. Pero conviene repasar la operación de restar en decimal para comprender laoperación binaria, que es más sencilla. Los términos que intervienen en la resta sellaman minuendo, sustraendo y diferencia.- 0 10 0 11 1 + 1 0Las restas 0 - 0, 1 - 0 y 1 - 1 son evidentes:0 – 0 = 01 – 0 = 11 – 1 = 0La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una unidad prestada dela posición siguiente: 10 - 1, es decir, 210 – 110 = 1. Esa unidad prestada debe devolverse,sumándola, a la posición siguiente.Veamos algunos ejemplos:111 – 101 = 010 o bien 710 – 510 = 210
  4. 4. Profesor: Julio Cesar Barreto García CORTE I10001 – 01010 = 00111 1 o bien 710 – 1010 = 71011011001 – 10101011 = 00101110 o bien 21710 – 17110 = 4610111101001 – 101101101 = 001111100 o bien 48910 – 36510 = 12410Recordar: La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando una unidadprestada de la posición siguiente: 10 - 1 = 1 y me llevo 1, lo que equivale a decir endecimal, 2 - 1 = 1. Esa unidad prestada debe devolverse, sumándola, a la posición siguiente.Veamos algunos ejemplos: Dados los decimales transformarlos a binarios y luegorestarlos:Restamos 17 - 10 = 7 Restamos 217 - 171 = 4610001 11011001-01010 -10101011—————— —————————00111 001011107 46Restamos 35 - 15 Restamos 50 - 11100011 0110010001111 001011—————— ——————010100 10011120 3Ejercicio 2: Realiza las siguientes restas de números binarios y comprueba losresultados convirtiéndolos al sistema decimal:a) 111011 - 110b) 111110111 - 111001c) 1010111 - 11011 – 10011
  5. 5. Profesor: Julio Cesar Barreto García CORTE IA pesar de lo sencillo que es el procedimiento de restar, es facil confundirse. Tenemosinteriorizado el sistema decimal y hemos aprendido a restar mecánicamente, sin detenernosa pensar en el significado del arrastre. Para simplificar las restas y reducir la posibilidad decometer errores hay varias soluciones: Dividir los números largos en grupos. En el siguiente ejemplo, vemos cómo sedivide una resta larga en tres restas cortas:100110011101 1001 1001 1101010101110010 0101 0111 0010010000101011 0100 0010 1011 Calculando el complemento a dos del sustraendoi. Complemento a dosEl complemento a dos de un número N, compuesto por n bits, se define como:C2N = 2n– NVeamos un ejemplo:Tomemos el número 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 = 0100112Ejercicio 3: Calcula el complemento a dos de los siguientes números:11001, 10001011, 110011010ii. Complemento a unoEl complemento a uno de un número N, compuesto por n bits es, por definición, unaunidad menor que el complemento a dos, es decir:C1N = C2N - 1
  6. 6. Profesor: Julio Cesar Barreto García CORTE Iy, por la misma razón:C2N = C1N + 1Calculemos el complemento a uno del mismo número del ejemplo anterior:Siendo N = 101101, y su complemento a dos C2N = 010011C1N = C2N – 1 = 010011 – 000001 = 010010C1N = 010010Da la sensación de que calcular el complemento a uno no es más que una forma elegante decomlicarse la vida, y que no va a ser más sencillo restar utilizando el complemento a dos,porque el procedimiento para calcular el complemento a dos es más difícil y laborioso quela propia resta. Pero es mucho más sencillo de lo que parece.En realidad, el complemento a uno de un número binario es el número resultante deinvertir los UNOS y CEROS de dicho número.Por ejemplo si:N = 110100101obtenemos su complemento a uno invirtiendo ceros y unos, con lo que resulta:C1N = 001011010y su complemento a dos es:C2N = C1N + 1 = 001011011¡Es muy fácil!Veamos otro ejemplo de cálculo de complementos. Sea: N = 0110110101El complemento a uno es:C1N = 1001001010y el complemento a dos es:C2N = 1001001011
  7. 7. Profesor: Julio Cesar Barreto García CORTE Iiii. Restar en binario usando el complemento a dosY, por fin, vamos a ver cómo facilita la resta el complemento. La resta binaria de dosnúmeros puede obtenerse sumando al minuendo el complemento a dos del sustraendo.Veamos algunos ejemplos:Primer ejemplo: Hagamos la siguiente resta, 91 – 46 = 45, en binario:1011011 – 0101110 = 0101101Tiene alguna dificultad, cuando se acumulan los arrastres a la resta siguiente. Pero estamisma resta puede hacerse como una suma, utilizando el complemento a dos delsustraendo:1011011 + 1010010 = 0101101En el resultado de la suma nos sobra un bit, que se desborda por la izquierda. Pero, como elnúmero resultante no puede ser más largo que el minuendo, el bit sobrante se desprecia.Segundo ejemplo: Hagamos esta otra resta, 219 – 23 = 196, utilizando el complemento ados:21910 = 110110112,2310 = 000101112C223 = 11101001El resultado de la resta será: 11011011 + 11101001 = 111000100Y, despreciando el bit que se desborda por la izquierda, llegamos al resultado correcto:110001002 = 19610¡Qué fácil!Ejercicio 4: Haz las siguientes restas binarias utilizando la técnica del complemento a dos.Al terminar, comprueba los resultados haciendo la resta en el sistema decimal:11010001101 – 100011110110110011101 - 1110101
  8. 8. Profesor: Julio Cesar Barreto García CORTE IMULTIPLICACIÓN BINARIALa multiplicación en binario es más fácil que en cualquier otro sistema de numeración.Como los factores de la multiplicación sólo pueden ser CEROS o UNOS, el producto sólopuede ser CERO o UNO. En otras palabras, las tablas de multiplicar del cero y del uno sonmuy fáciles de aprender:x 0 10 0 01 0 1En un ordenador, sin embargo, la operación de multiplicar se realiza mediante sumasrepetidas. Eso crea algunos problemas en la programación porque cada suma de dos UNOSorigina un arrastre, que se resuelven contando el número de UNOS y de arrastres en cadacolumna. Si el número de UNOS es par, la suma es un CERO y si es impar, un UNO.Luego, para determinar los arrastres a la posición superior, se cuentan las parejas de UNOS.Veamos, por ejemplo, una multiplicación:Para comprobar que el resultado es correcto, convertimos los factores y el resultado alsistema decimal:3349 * 13 = 43537¡Correcto!Recordar: El algoritmo del producto en binario es igual que en números decimales; aunquese lleva cabo con más sencillez, ya que el 0 multiplicado por cualquier número da 0, y el 1es el elemento neutro del producto.
  9. 9. Profesor: Julio Cesar Barreto García CORTE IPor ejemplo, en decimal si multipliquemos 22 por 9 = 19810110*1001—————————10110000000000010110—————————11000110198Multiplicar: 25 * 5 = 12511001*001011100100000110010000000000001111011125Ejercicio 5: Haz las siguientes multiplicaciones binarias. Al terminar, comprueba losresultados haciendo las multiplicaciones en el sistema decimal:10110101000101 x 101110100001111011 x 10011DIVISIÓN BINARIAIgual que en el producto, la división es muy fácil de realizar, porque no son posibles en elcociente otras cifras que UNOS y CEROS.Consideremos el siguiente ejemplo, 42 : 6 = 7, en binario:
  10. 10. Profesor: Julio Cesar Barreto García CORTE ISe intenta dividir el dividendo por el divisor, empezando por tomar en ambos el mismonúmero de cifras (100 entre 110, en el ejemplo). Si no puede dividirse, se intenta la divisióntomando un dígito más (1001 entre 100).Si la división es posible, entonces, el divisor sólo podrá estar contenido una vez en eldividendo, es decir, la primera cifra del cociente es un UNO. En ese caso, el resultado demultiplicar el divisor por 1 es el propio divisor. Restamos las cifras del dividendo deldivisor y bajamos la cifra siguiente.El procedimiento de división continúa del mismo modo que en el sistema decimal. Ladivisión en binario es similar al decimal, la única diferencia es que a la hora de hacer lasrestas, dentro de la división, estas deben ser realizadas en binario. Por ejemplo, vamos adividir 100010010 (274) entre 1101 (13)= 20100010010 |1101——————- 0000 010101 0 1 0 1 0 1———————10001- 1101———————01000 20- 0000———————10000- 1101———————00111- 0000———————01110- 1101———————00001
  11. 11. Profesor: Julio Cesar Barreto García CORTE IEjercicio 5: Haz las siguientes divisiones binarias. Al terminar, comprueba los resultadoshaciendo las divisiones en el sistema decimal:10110101000101 : 101110100001111011 : 10011
  12. 12. Profesor: Julio Cesar Barreto García CORTE IEJERCICIOS ADICIONALES1. Realiza las siguientes sumas de números octales:365 + 232732 + 126565 + 17732. Suma los siguientes números hexadecimales:17A + 3C20F5 + 31B2E70C + 1AA7F3. Resta los siguientes números octales:365 - 232732 - 12651773 – 654. Realiza las siguientes restas de números hexadecimales:17A - 3C20F5 - 31B2E70C – 1AA7F

×