martes, 20 de abril de 2010

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 números binarios existen los complementos a 2 y a 1. En base octal serían complemento a 8 y a 7, etc. El complemento a b se define de la siguiente forma:

Complemento a b

Teniendo un número N de n dígitos enteros, el complemento a b de N = (bn - N) si N ≠ 0 y será 0 si N=0. Esto se cumple para todos los números N positivos incluso con fracción decimal. El único caso especial a considerar es cuando la parte entera es cero. Esto se interpreta como que n = 0.
Veamos algunos ejemplos: ¿Cuál 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


ATENCIÓN: Observen que NO es lo mismo que calcular el complemento de la parte entera y de la fracción decimal por separado y juntar los resultados. OJO con eso. 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


Obsérvese que para calcular el complemento a 2 de un número binario sólo basta con evisar todos los dígitos desde el menos significativo hacia el más significativo y mientras se consiga un cero, dejarlo igual, al conseguir el primer número 1, dejarlo igual para luego cambiar el resto de ellos hasta llegar al más significativo. Así podemos decir rápidamente 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 número binario es invirtiendo todos los dígitos (que como veremos a continuación es lo que se conoce como complemento a 1) y sumándole uno al resultado obtenido. Pruébenlo.

Complemento a b-1

Por otro lado tenemos también el complemento a b-1. En este caso, teniendo un número positivo N en base b con n dígitos enteros y m dígitos en la fracción decimal,se conoce como complemento a b-1 de N a
bn - b-m - N

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 fracción 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 =>

(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 número binario basta con tan solo invertir todos los dígitos (esto quiere
decir cambiar 0 por 1 y viceversa). Es por esto que les comenté anteriormente que
otra forma de calcular el complemento a 2 de un número binario es hallando el
complemento a 1 (o sea invertir todos los digitos) y sumarle 1.