You are on page 1of 26

SISTEMAS NUMRICOS. CONVERSIN ENTRE SISTEMAS NUMRICOS.

OPERACIONES BINARIAS ARITMTICAS: SUMA, RESTA, MULTIPLICACIN Y COMPLEMENTO

Empecemos por mencionar a los "Elementos discretos". Estos no son ms que un grupo de smbolos con un significado. Por ejemplo: Nmeros, letras, signos de puntuacin, etc. Colocar elementos discretos uno al lado del otro representan informacin. De hecho, esta secuencia de elementos forman un "lenguaje" y que obviamente deben conocer para poder saber cul es la informacin que contiene. Los primeros computadores se usaban para realizar clculos numricos y los elementos discretos usados eran los dgitos y es de aqu que surge el trmino computador digital. En los sistemas digitales, los elementos discretos son representados por seales (en nuestro caso seales elctricas) y en el caso particular de los sistemas digitales actuales las seales tienen slo 2 posibles valores discretos y por esa razn se les conoce como binarios. Las seales representan dos estados que acorde a la lgica humana representan verdadero o falso. COMENTARIO: Es probable que en un futuro estos sistemas digitales sean reemplazados por otros que usen "Fuzzy Logic" o "lgica difusa". A este tipo de sistemas, adems de los dos valores verdadero y falso, se le aade otro estado que representara un "quiz" o en el caso de que ese estado pueda contener varios valores un "es verdad pero slo en cierto grado". Es en este tipo de lgica

que muchos expertos consideran podra estar la verdadera esencia de la inteligencia artificial. No todo es blanco o negro . Seales analgicas: Son seales que se representan de forma continua y no por elementos discretos como las seales digitales. Si queremos simular un proceso que es analgico en un sistema digital requeriremos de un "convertidor Analgico Digital". ste se encargar de "transformar" los datos analgicos a una forma que sea representada por elementos discretos y as poder ser procesada por sistemas digitales. Un ejemplo de ello son los CD's de msica. El sonido es una seal analgica. Esto quiere decir que la variacin de la misma es de forma continua pero los CD's son un medio de almacenamiento digital. Es por ello que el sonido debe pasar por un proceso de conversin para poder ser usado en sistemas digitales. Y esto es slo un ejemplo. Otro sera la luz, que es tambin una seal continua (o analgica). La cantidad de aplicaciones que pueden realizarse con los sistemas digitales actuales son muy variadas. Algunos ejemplos son: numricas, procesamiento de texto, aplicaciones de diseo grfico, estudios digitales de audio, etc. El "truco" es saber cmo expresar esa informacin en trminos discretos y en nuestro caso especfico binarios para que dichos sistemas digitales puedan procesarla, por lo que la necesidad de este tipo de sistemas en el mundo moderno es por dems evidente.

NMEROS BINARIOS

Como mencionamos anteriormente, los sistemas digitales actuales slo procesan dos seales (cierto o falso) y es por ello que se aplica el trmino de binario. Nosotros estamos acostumbrados a usar los nmeros en base decimal (o base 10) pero sta es slo una de las formas de representar cantidades. En realidad "2" es slo un smbolo y cuando lo vemos nosotros entendemos que existen dos unidades de algo. Si yo les digo que tengo 2 computadoras ustedes no visualizan el smbolo 2 sino la cantidad... quiz representada por una computadora al lado de la otra, pero no el smbolo. As que "2" es slo eso: un smbolo. Lo que trato de hacerles entender es que no importa cmo lo expresemos, qu smbolo o smbolos usemos, lo importante es que entendamos ese "lenguaje" y saber qu es lo que representa. Usamos los smbolos como una abstraccin para representar cantidades. En el numero decimal 123. Esto representa una centena ms dos decenas ms tres unidades. O sea: 1 x 102 + 2 x 101 + 3 x 100 Por lo tanto podramos decir que si tenemos un nmero decimal de forma a4a3a2a1a0 donde a4, a3 , a2 , a1 y a0 son los coeficientes en la siguiente ecuacin: a4 x 104 + a3 x 103 + a2 x 102 + a1 x 101 + a0 x 100

donde todos los coeficientes deben ser un nmero entre 0 y 9. En este caso en particular estamos usando lo que conocemos: la base 10 o sistema decimal; pero podemos ampliar este concepto a cualquier base. Por lo tanto podemos decir que todo nmero puede ser expresado en un sistema de base "b" por: an.bn + an-1.bn-1 + ... + a2.b2 + a1.b1 + a0.b0 y en el caso que contenga decimales: an.bn + an-1.bn-1 + ... + a2 .b2 + a1.b1 + a0.b0 + a-1.b-1 + a-2.b-2 + ... + a-m.b-m donde el coeficiente a es un valor que siempre estar entre 0 y (b-1) siendo n el nmero de dgitos enteros menos uno y m el nmero de dgitos en la fraccin decimal. En un nmero binario la base es 2. Por lo tanto, un nmero binario slo puede contener dgitos entre 0 y 1 (que en nuestro caso representarn los dos estados que asociamos con falso o cierto). Un ejemplo de un nmero binario es: 1010011. Si quisiramos representar este nmero de 7 bits (donde b=2, n=6 y m =0) de una forma que nos fuese ms familiar, es decir, en decimal, tendriamos: 1 x 26 + 0 x 25 + 1 x 24 + 0 x 23 + 0 x 22 + 1 x 21 + 1 x 20 = 64 + 0 + 16 + 0 + 0 + 2 + 1 = 83 por lo tanto, el nmero binario de 7 bits 1010011 es igual que el nmero decimal 83.

Cuando trabajamos con nmeros en distintas bases la forma de expresar en qu base est escrito un nmero es colocndole dentro de parntesis e indicando al lado la base. Por ejemplo: (1010011)2 = (83)10 quiere decir que el nmero 1010011 en base 2 es igual al nmero 83 en base 10. Por supuesto los nmeros binarios, o en base 2, son slo un ejemplo. La base puede ser cualquiera. Supongamos ahora que les digo que tenemos: (1234,2) 5 que es un nmero en base 5 con fraccin decimal y que, como se observa, slo usa dgitos del 0 al 4 . Para convertirlo a base 10 sabiendo que en este caso n=3, m=1 y que la base b=5, entonces si aplicamos la formula: an.bn + an-1.bn-1 + ... + a2 .b2 + a1.b1 + a0.b0 + a-1.b-1 + a-2.b-2 + ... + a-m.b-m Tenemos: (1234,2)5 = 1 x 53 + 2 x 52 + 3 x 51 + 4 x 50 + 2 x 5-1 = 125 + 50 + 15 + 4 + 0,4 = (194,4)10 Por lo tanto ya sabemos entonces qu debemos hacer para convertir nmeros que estn en cualquier base b a base 10. Si el nmero que queremos mostrar est en una base menor o igual a diez pues podremos usar los dgitos conocidos por nosotros (del 0 al 9) como los

"smbolos" a usar. Pero qu pasa si el nmero est en una base mayor a 10? pues tendremos que usar otros smbolos. Lo normalmente usado son las letras del alfabeto (regularmente en maysculas) para expresar dichos nmeros. Por ejemplo el sistema en base hexadecimal (ampliamente usado) que est en base 16 usa los smbolos A, B, C, D, E y F para expresar las cantidades que conocemos en decimal como 10, 11, 12, 13, 14 y 15 respectivamente (los cuales son necesarios en la base 16 ya que recuerden que los coeficientes en cualquier base son nmeros entre 0 y base-1). Por lo tanto: (1F)16 = 1 x 161 + 15 x 160 = 16 + 15 = (31)10 Otro ejemplo seria: (10)16 = 1 x 161 + 0 x 160 = 16 + 0 = (16)10 Que pasa si probamos el mismo ejemplo, pero esta vez pensando en hexadecimal en lugar de decimal. Tendramos: (1010011)2 = 1 x 26 + 0 x 25 + 1 x 24 + 0 x 23 + 0 x 22 + 1 x 21 + 1 x 20 = (40)16 + 0 + (10)16 + 0 + 0 + (2 + 1)16 = (53)16 La cantidad 26 que representaba un 64 en decimal hora es representada por un 40H y 24 que en decimal era un 16 ahora es un 10H.

NMEROS HEXADECIMALES Y OCTALES

Como ya se coment, los nmeros hexadecimales son aquellos que estn en base 16. En el caso de los octales tienen base 8. Estos nmeros son muy usados en los sistemas digitales principalmente porque pueden representar los nmeros binarios de una forma ms compacta (debido a que 23 son 8 y 24 son 16). Realizar esa conversin es extremadamente sencillo. Veamos el siguiente ejemplo: (10100101)2 es un nmero binarios de 8 bits (o un byte). Este puede ser representado en dos partes de 4 bits (conocidas como NIBBLES). Si dividimos el byte del ejemplo en sus Nibbles, tendramos: 1010 y 0101 cada una representando 24 posibilidades, o sea un nmero hexadecimal (un nmero entre 0 y 15). As: (1010)2 = (A)16 , (0101)2 = (5)16 => (10100101)2 = (A5)16. El caso de octal es semejante. Si tenemos el nmero (101010111)2 podramos dividir ste en tres partes de 3 bits (o sea, con 23 posibilidades cada una) y tendramos: 101, 010 y 111 que representan los nmeros octales 5, 2 y 7 respectivamente. Por lo tanto: (101010111)2 = (527)8 Para convertir de octal o hexadecimal a binario, es igual de sencillo. Por ejemplo: (7531)8 => 111 101 011 001 => (111101011001)2 (123,A)16 = 0001 0010 0011 , 1010 = (000100100011,1010)2

CONVERSIONES ENTRE NMEROS DE BASE DIFERENTE


La conversin entre nmeros de distintas bases a un nmero decimal es, como ya vimos, bastante sencilla. Slo debemos usar la frmula que ya se describi. Pero qu pasa si lo que queremos es convertir un nmero decimal a binario? o a hexadecimal? o a octal? Para realizar estas conversiones primero que nada, si el nmero tiene parte decimal, separamos la parte entera de la fraccin decimal. La mejor forma de mostrar la conversin es a travs de ejemplos. Veamos algunos: Convertir a binario el nmero decimal 41: En el caso de querer convertir a nmeros binarios lo que debemos hacer es realizar divisiones sucesivas del nmero a convertir entre dos hasta que lleguemos a un cociente de cero. Los residuos de las divisiones representarn los dgitos desde el menos significativo (que ser el primer residuo) hasta el ms significativo que ser el residuo de la ltima divisin cuando lleguemos al cociente cero. Entonces si el nmero es 41, al realizar la divisin entre dos obtendremos un cociente de 20 y un residuo de 1. Es precisamente el residuo quien indicar cul es el valor del bit y en este caso este es el bit menos significativo. Luego haremos la operacin nuevamente con el nuevo cociente que es el 20 y as sucesivamente hasta llegar al momento en que el cociente sea 0. Entonces, desde el principio:

41 / 2 = 20 con residuo 1 => El coeficiente menos significativo a0=1. 20/2 = 10 con residuo 0 => El coeficiente a1=0. 10/2 = 5 con residuo 0 => a2=0. 5/2 = 2 con residuo 1 => a3=1. 2/2 = 1 con residuo 0 => a4=0.

1/2 = 0 con residuo 1 => a5=1.

Por lo tanto: (41)10 = (a5a4a3a2a1a0) = (101001)2 y si quisiramos mostrar el nmero en octal y/ hexadecimal, partiendo de que ya tenemos el nmero binario?, entonces sera: (101001)2 = (51)8 = (29)16 Veamos otro ejemplo. Convertir el nmero decimal 161 a binario. Haramos:

161 1

80 0

40 0

20 0

10 0

5 1

2 0

1 1

Sabiendo que el primer bit es el menos significativo tendramos: (161)10 = (10100001)2 Partiendo del binario, en octal y hexadecimal sera: (10100001)2 = (A1)16 = (241)8 Comprobacin: (A1)16 = 10 x 161 + 1 x 160 = 160 + 1 = (161)10

(241)8 = 2 x 82 + 4 x 81 + 1 x 80 = 128 + 32 + 1 = (161)10 Pero qu pasa si lo que quiero es convertir el nmero decimal directamente a octal o a hexadecimal? Por supuesto, ustedes podran convertirlo a binario y luego a octal o hexadecimal. Procedamos con el mismo ejemplo anterior, con el nmero 161. Para convertirlo directamente a octal. Sera:

161 /8 = 20 residuo 1 20/8 = 2 con residuo 4 2/8= 0 con residuo 2

Por lo tanto: (161)10 = (241)8 Ya que el primer residuo es el dgito menos significativo. En hexadecimal sera:

161 10 con residuo 1 0 con residuo 10 que en hexadecimal es representado por A

Entonces: (161)10 = (A1)16 Si la base destino es 5, por ejemplo, llevarlo a binario no les servira de nada. En este caso tendramos que proceder obligatoriamente con el mtodo explicado, en este caso siendo el divisor el nmero 5. Mismo ejemplo:

161 32 6 1 0

RESIDUO 1 2 1 1

Por lo tanto: (161)10 = (1121)5 Comprobacion: (1121)5 = 1 x 53 + 1 x 52 + 2 x 51 + 1 x 50 = 125 + 25 + 10 + 1 = (161)10 Veamos ahora el caso de que el nmero sea con decimales. Como ya se coment, en estos casos es ms conveniente separar la parte entera de la fraccin decimal. La parte entera ya sabemos cmo resolverla. La fraccin decimal se hace por un procedimiento similar pero la operacin involucrada es la multiplicacin y quien representar el dgito a colocar ser la parte entera siendo el primer entero quien ser la cifra ms significativa. Por ejemplo si queremos convertir el nmero decimal 0,8125 a binario hacemos:

0,8125 x 2 = 1 + 0,625 0,625 x 2 = 1 + 0,25 0,25 x 2 = 0 + 0,50

0,50 x 2 = 1 + 0

Por lo tanto: (0,8125)10 = (0,1101)2 Comprobacin: (0,1101)2 = 1 x 2-1 + 1 x 2-2 + 0 x 2-3 + 1 x 2-4 = 0,5 + 0,25 + 0 + 0,0625 = (0,8125)10 Veamos un ltimo ejemplo. Convertir el nmero decimal 48,407407407407 (407 peridico) al correspondiente en base 3. Para la parte entera:

48 16 con residuo 0 5 con residuo 1 1 con residuo 2 0 con residuo 1

y para la fraccin decimal:


0,407407407407 x 3 = 1 + 0,2222222 peridico 0,222222222222 x 3 = 0 + 0,6666666 peridico 0,666666666666 x 3 = 2 + 0

Por lo tanto

(48,407407407407...)10 = (1210,102)3

Tabla con nmeros en decimal y su valor correspondiente en otras bases.


Decimal Hexadecimal Octal Base 3 Base 7 0 1 2 3 4 5 6 7 8 9 10 11 12 13 0 1 2 3 4 5 6 7 8 9 A B C D 0 1 2 3 4 5 6 7 10 11 12 13 14 15 0 1 2 10 11 12 20 21 22 100 101 102 110 111 0 1 2 3 4 5 6 10 11 12 13 14 15 16

14 15 16 17 18 30 31 32 64 69 70 71

E F 10 11 12 1E 1F 20 40 45 46 47

16 17 20 21 22 36 37 40 100 105 106 107

112 120 121 122 200 1010 1011 1012 2101 2120 2121 2122

20 21 22 23 24 42 43 44 121 126 130 131

Si por ejemplo tienen el nmero (12)3 y se le pide que le sumen 2, el resultado que van a obtener es el nmero en base 3 que est 2 posiciones adelante del (12)3 , en este caso el (21) 3. Espero que esta tabla les sirva para comprender mejor los nmeros en bases distintas. (4 + 6)7 = (13)7. Teniendo ya esto en cuenta, veamos como se realizan operaciones aritmticas en distintas bases.

OPERACIONES ARITMTICAS CON NMEROS DE DISTINTAS BASES

En realidad las operaciones aritmticas se realizan igual sin importar cul sea la base. La nica consideracin a tomar es que slo pueden existir dgitos entre 0 y base-1. Veamos algunos ejemplos de suma, resta y multiplicacin. Sume los nmeros binarios 10111101 y 10110: 10111101 + 010110 --------------------------------11010011 Como les dije deben considerar la base que se est usando. En este caso usamos nmeros binarios (base 2) por lo que los dgitos slo pueden ser 0 1. Qu tenemos entonces? Bien, para este caso de suma (slo dos nmeros binarios) lo que debemos saber es que (0+0)=0, (0+1)=(1+0)=1, (1+1)=1 0 y (1+1+1)=1 1.

Realice la resta entre los mismos nmeros: 10111101 - 0010110 --------------------------------10100111

Sabiendo que (0-0)=0, (1-0)=1, (1-1)=0, (0-1)=-1 y (10-1)=1, entonces, empezando por el menos significativo y continuando, (1-0)=1, (10-1)=1, (101)=1, (0-0)=0, (1-1)=0, (1-0)=1 y (10-0)=10. Por ltimo la multiplicacin:

32

1
512

2 1 1
256

3 1 1 1
128

4 1 1 1 1
64

4 1 1 1 1 0
32

16 1 1 1 1 1 1 1 0
16

8 1 1 1 1 1 1 0
8

4 1 1 1 1 1

2 1 1 1 1

1 1 1 1

31*31

961

0
4

0
2

1
1

512+256+128+64+1

961

1 32

2 1 1 16

1 2 1 1 0 8

1 1 1 1 1 0 4

1 1 1 1 0 2

1 1

1 1

En la multiplicacin de nmeros binarios tenemos que (0 x 0)=(0 x 1)=(1 x 0)=0 y (1 x 1)=1 el cual, como veremos en los prximos captulos, es el comportamiento de una compuerta AND. Ese anlisis nos es familiar ya que

cumple exactamente las mismas propiedades a las que estamos acostumbrados. Yo dira ms bien que realizar esta multiplicacin es un buen ejercicio para la suma ya que debe considerar mltiples acarreos. Entienda que en binario (1+1+1)=11, (1+1+1+1)=100, (1+1+1+1+1)=101, (1+1+1+1+1+1+1+1)=1000, etc. Hagamos ahora la suma y resta de los mismos nmeros pero en hexadecimal: BD + 16 = D3 ya que (D+6)16=(13)16 que conlleva 1 de acarreo y luego ([1]+B+1)16=D16. Para la resta: BD - 16 = A7 Lo cual no tiene mucho que analizar. La consideracin ms importante a tomar es qu dgitos se pueden usar lo cual depende de la base. De residuo el procedimiento es igual al que estamos familiarizados.

COMPLEMENTOS
Los complementos son muy usados en los sistemas digitales al momento de realizar operaciones de resta. Existen dos tipos de complemento. El complemento a b y el complemento a b-1 donde b es la base. Es decir, para los nmeros binarios existen los complementos a 2 y a 1. En base octal seran

complemento a 8 y a 7, etc. El complemento a b se define de la siguiente forma: Complemento a b Teniendo un nmero N de n dgitos enteros, el complemento a b de N = (bn N) si N 0 y ser 0 si N=0. Esto se cumple para todos los nmeros N positivos incluso con fraccin decimal. El nico caso especial a considerar es cuando la parte entera es cero. Esto se interpreta como que n = 0. Veamos algunos ejemplos: Cul es el complemento a 10 de (987)10? En este caso N = 987 y n = 3, entonces: 103 - 987 = 1000 - 987 = 13 El complemento a 10 de (0,125)10? Aqu N = 0,125 y n = 0, as que: 100 - 0,125 = 1 - 0,125 = 0,875 El complemento a 10 de (987,125)10? N= 987,125 y n = 3, por lo tanto: 103 - 987,125 = 1000 - 987,125 = 12,875 ATENCIN: Observen que NO es lo mismo que calcular el complemento de la parte entera y de la fraccin decimal por separado y juntar los resultados. Veamos unos casos en binario. Para el complemento a 2 de (10101100)2 tenemos que n=8, entonces:

(28)10 - (10101100)2 = (256)10 - (10101100)2 = (100000000 - 10101100)2 = (01010100)2 Otro. El complemento a 2 de (1010)2 es (10000 - 1010)2 = (0110)2 Obsrvese que para calcular el complemento a 2 de un nmero binario slo basta con revisar todos los dgitos desde el menos significativo hacia el ms significativo y mientras sea un cero, dejarlo igual, al encontrar el primer nmero 1, dejarlo igual para luego negar cada uno de los bits restantes hasta llegar al ms significativo. As podemos decir rpidamente que el complemento a 2 de (10100000)2 es (01100000)2, que el complemento a 2 de (111)2 es (001)2, etc. Otra forma muy sencilla de hallar el complemento a 2 de un nmero binario es invirtiendo todos los dgitos (que como veremos a continuacin es lo que se conoce como complemento a 1) y sumndole uno al resultado obtenido. Complemento a b-1 Por otro lado tenemos tambin el complemento a b-1. En este caso, teniendo un nmero positivo N en base b con n dgitos enteros y m dgitos en la fraccin decimal, se conoce como complemento a b-1 de N a bn - b-m N= b-1 Veamos entonces. Para el complemento a 9 de (987)10 tenemos que N = 987, n = 3 y m = 0, por lo tanto

103 - 100 - 987 = 1000 - 1 - 987 = 12 Para el complemento a 9 de (0,125)10 tenemos que N = 0,125 y n = 0 y m = 3, entonces 100 - 10-3 - 0,25 = 1 - 0,001 - 0,125 = 0,999 - 0,125 = 0,874 Y qu hay del complemento a 9 de (987,125)10? En ese caso N= 987,125 ; n = 3 y m = 3, por lo tanto 103 - 10-3 - 987,125 = 1000 - 0,001 - 987,125 = 999,999 - 987,125 = 12,874 Observen que en este caso s es lo mismo calcular el complemento de la parte entera y el de la fraccin decimal por separado y juntar sumar los resultados. Algunos ejemplos en binario. Para el complemento a 1 de (10101100)2 sabemos que n=8 y m=0 => bn - b-m N= b-1 (28)10 -1 - (10101100)2 = (256)10 - 1 - (10101100)2 = (100000000 - 1 10101100)2 = (01010011)2 y que el complemento a 1 de (1010)2 es (10000 - 1 - 1010)2 = (0101)2

En estos dos ltimos ejemplos se puede observar que para conseguir el complemento a 1 de un nmero binario basta con tan solo invertir todos los dgitos. Como comentamos anteriormente la otra forma de calcular el complemento a 2 de un nmero binario es hallando el complemento a 1 (o sea invertir todos los digitos) y sumarle 1. Resta por complemento Al principio les dije que los complementos se usaban mucho en los sistemas digitales para realizar clculos de resta. Si queremos realizar una resta basndonos en el complemento a b (base) lo que hacemos es sumar al minuendo el complemento a b del sustraendo. Si la suma acarrea 1, ste se descarta. En caso contrario se dice que el nmero es negativo y ser el complemento a b del resultado de la suma. Veamos un ejemplo con nmeros: (123 - 023)10 ; aqu el complemento a 10 de 23 es 977, entonces: 123 + 977 ------------------------1 100

El primer 1 es el acarreo por lo que la respuesta es 100. IMPORTANTE: Al usar este mtodo debe considerar todos los nmeros con la misma cantidad de dgitos. No pueden considerar el nmero 23 como un nmero de 2 dgitos. Minuendo y sustraendo deben contener el mismo nmero de dgitos. Por lo tanto deben considerar 023. En caso contrario obtendran un error en las restas donde el resultado sea negativo. Veamos otro ejemplo en el que la suma no arroja complemento: (23 - 100)10 ; para este caso el complemento a 10 de 100 es 900 => 23 + 900 = 923 ( no lleva acarreo ) => el complemento a 10 de 923 es 77 => Respuesta = -77. Tambin existe un mtodo para realizar la resta pero usando el complemento a b-1. Este caso es muy similar al caso anterior con la diferencia del acarreo. Aqu, en el caso de haber un acarreo, ste no es descartado sino que el mismo es sumado al resultado de la suma para obtener el resultado final. En caso de no tener acarreo, al igual que antes, se procede a realizar el complemento del resultado de la suma y agregarle un signo negativo. OBVIAMENTE todos los clculos de complementos en este mtodo son basados en el complemento a b-1 y no al complemento a b. Veamos algunos ejemplos: (123 - 023)10 ; el complemento a 9 de 23 es 976 , entonces 123 + 976

-------------1 099 +1 -------------100 El primer 1 es el acarreo y como ste debe sumrsele al resultado de la suma tenemos que 99 + 1 es 100. Por supuesto que al usar este mtodo tambin debe considerar todos los nmeros con la misma cantidad de dgitos. El nmero 23 es en realidad 023. Veamos el otro ejemplo en el que la suma no arroja complemento: (23 - 100)10 => el complemento a 9 de 100 es 899 => 23 + 899 = 922 ( no lleva acarreo ) => el complemento a 9 de 922 es 77 => Respuesta = -77 Veamos algunos casos con nmeros binarios. Realizar la resta por complemento a 2 y por complemento a 1 de: (10101110 110010)2 Por el mtodo de complemento a 2 tenemos: El complemento a 2 de 110010 (recordando que debe tener 8 dgitos) es 11001110 entonces 10101110 + 11001110

------------------1 01111100 de lo que se concluye que (10101110 - 110010)2 = (1111100)2 Vemoslo ahora por el mtodo de complemento a 1. Aqu tendramos que complemento a 1 de 110010 es 11001101, entonces 10101110 + 11001101 ------------------1 01111011 por lo que tenemos que hacer (01111011 + 1)2 resultando (01111100)2. Veamos otro caso. Realizar la resta de (110010 - 10101110)2. Por complemento a 2 sera: 00110010 + 01010010 ---------------10000100

que como no tiene acarreo le calculamos el complemento a 2 y tenemos que el resultado es -1111100. Con el mtodo de complemento a 1 sera: 00110010 + 01010001 --------------------10000011 y calculando el complemento a 1 (ya que no tiene acarreo) tenemos que el resultado = -01111100. Lo cual es correcto. Por qu haramos una resta con complemento? La suma es mucho ms sencilla de implementar en los sistemas digitales; y por otro lado, aunque en base 10 no tenemos problemas para realizar una resta, hacer el mismo proceso para otras bases no nos ser tan intuitivo por lo que estos mtodos facilitaran el proceso del clculo. Las computadoras trabajan los nmeros negativos a travs del complemento a dos. Para ellas, el primer bit del byte indica el signo. Si este es uno (1) querr decir que el nmero es negativo. Por lo tanto, y basndonos en este ltimo ejemplo por el mtodo de complemento a dos, al realizar la resta de 110010 10101110 el resultado que almacena el computador en sus registros o variables es en realidad el nmero (10000100)2 o lo que es lo mismo (84)16. Al

tener el bit ms significativo activo, representa que es un nmero negativo y que el mismo es su complemento a 2.

You might also like