Los complementos se utilizan en las
computadoras digitales para simplificar la operación de sustracción o resta y
para la manipulación lógica. Existen
dos tipos de complementos para cada sistema de base r:
1.
El complemento radical, y
2.
El complemento radical disminuido
El primero se conoce como el complemento a r’s y el segundo como el complemento a (r-1)’s. Cuando el valor de
la base se sustituye en el nombre, los dos tipos se conocen como complemento a 2’s y a 1’s para números binarios y a 10’s
y a 9’s para números decimales.
COMPLEMENTO
RADICAL DISMINUIDO
Dado un número N de base r que tiene n
dígito, el complemento a (r-1)’s de
N se define (rn - 1) - N
Para números
decimales, r =10 y r-1 = 9; de este modo el complemento a
9’s de N es (10n - 1) - N.
Ahora,
10n representa un número que consta de un 1
seguido de n ceros.
10n -1 es un número representado por n nueve.
Por ejemplo, si n = 4,
se tiene 10n = 104 = 10000
10n -1 = 9999
se deduce que el complemento a 9’s de un
número decimal se obtiene restando cada dígito a 9. Encontrar el complemento a 9’s de los
siguientes números:
Decimal
|
Operación
|
CA 9’s
|
-546700
|
999999 -546700
|
453299
|
-12389
|
99999 -12389
|
87610
|
-125
|
999 - 125
|
874
|
-450
|
999 - 450
|
549
|
-733
|
999 - 733
|
266
|
Decimal
|
Binario
|
+5
|
0 0101
|
-5
|
1 1010
|
Decimal
|
Binario
|
Valor de -5 en Binario
|
0
0101
|
+5
|
0
0101
|
Complemento
a 1’s
|
1
1010
|
-5
|
1
1011
|
Complemento
a 2’s
|
1 1010
1
|
1 1011
|
M =
|
72532
|
99999
|
Complemento a 10’s de N =
|
+ 96750
|
03250
|
Suma =
|
1 69282
|
96749
|
Acarreo final desechado 105 =
|
- 1 00000
|
1
|
Respuesta =
|
69282
|
96750
|
M =
|
03250
|
99999
|
99999
|
Complemento a 10’s de N =
|
+ 27468
|
72532
|
30718
|
Suma =
|
30718
|
27467
|
69281
|
No hay acarreo final =
|
1
|
1
|
|
Respuesta
= -
(Complemento a 10’s para 30718)
= - 69282
|
27468
|
69282
|
|
M =
|
1010100
|
0111100 (CA1’s de N)
|
Complemento a 10’s de N =
|
+ 0111101
|
1
|
Suma =
|
1 0010001
|
0111101 (CA2’s)
|
Acarreo final desechado 27=
|
- 1 0000000
|
|
Respuesta =
|
0010001
|
N =
|
1000011
|
0101011 (CA1’s de M)
|
Complemento a 2’s de M =
|
+ 0101100
|
1
|
Suma =
|
1101111
|
0101100 (CA2’s)
|
No hay acarreo final =
|
||
Respuesta = - (CA 1’s para
1101110)
= - 0010001
|
||
En el caso de números binarios, r = 2 y r-1=1, de este modo el complemento a 1’s de N es (2n
-1) - N. Una vez más
2n representa por medio de un número binario
que consta de un 1 seguido de n ceros.
2n
-1 es un número binario
representado por n unos.
Por ejemplo, si n = 4 , se tiene que
2n
= (10000)2
2n
-1 = (1111) 2
Por lo tanto, el complemento a 1’s de un
número binario se obtiene restando cada dígito de 1. Sin embargo, cuando se restan dígitos
binarios de 1, se puede tener
1 - 0 = 1
ó 1 - 1 = 0; lo que hace que el bit cambie de 0 a 1 o bien
de 1 a 0. En consecuencia, el
complemento a 1’s de un número binario se forma combinando unos por ceros y
ceros por uno.
El
complemento a 1’s de 1011001, es 0100110
El
complemento a 1’s de 0001111, es 1110000
Si
el número es positivo el complemento a 1’s se representa igual, si el número es
negativo se toma el número binario positivo y se complementan todos los bit
incluyendo el del signo.
En el complemento a 2’s, si el número es
positivo se representa igual. Si el
número es negativo se suma 1 al complemento a 1’s. para obtener el signo del
número negativo.
Sustracción
con Complemento
El método directo de sustracción que se
enseña en las escuelas primarias aplica el concepto de “Pedir prestado de otra
cantidad”. En método, se pide prestado
un 1 de una posición significativa superior cuando el dígito minuendo es menor
que el sustraendo. Este parece ser el
método más sencillo cuando las personas realizan la resta con papel y
lápiz. Cuando la resta se efectúa con
hardware digital, se observa que este método es menos eficiente que el que se
utiliza complementos. Para realizar la resta de dos números
sin signo de n dígitos, M - N. en base r, se puede hacer de la siguiente
manera:
1.
Súmese el minuendo M al complemento de r
del sustraendo N. Esto se realiza como M + (rn -N) = M - N + rn
2.
Si M >= N,
la suma producirá un acarreo final, rn
, que se desecha, lo que queda es el resultado M - N.
3.
Si M < N,
la suma no producirá un acarreo y es igual a rn - (N -M) que es el complemento a r’s de (N - M).
Ejemplo
1: Utilizar el complemento a 10’s, efectuando
la resta 72532 - 3250
M =
|
72532
|
99999
|
|
Complemento a 10’s de N =
|
+ 96750
|
03250
|
|
Suma =
|
1 69282
|
96749
|
|
Acarreo final desechado 105 =
|
- 1 00000
|
1
|
|
Respuesta =
|
69282
|
96750
|
Ejemplo
2: Utilizar el complemento a 10’s, efectuando
la resta 3250 - 72532
|
M =
|
03250
|
99999
|
99999
|
|
Complemento a 10’s de N =
|
+ 27468
|
72532
|
30718
|
|
Suma =
|
30718
|
27467
|
69281
|
|
No hay acarreo final =
|
|
1
|
1
|
|
Respuesta
= -
(Complemento a 10’s para 30718)
= - 69282
|
27468
|
69282
|
|
Ejemplo
3: Dado los número binarios M = 1010100 y N =
1000011, hágase la resta:
M - N, utilizando el complemento a 2’s.
|
M =
|
1010100
|
0111100 (CA1’s de N)
|
|
Complemento a 10’s de N =
|
+ 0111101
|
1
|
|
Suma =
|
1 0010001
|
0111101 (CA2’s)
|
|
Acarreo final desechado 27=
|
- 1 0000000
|
|
|
Respuesta =
|
0010001
|
|
Ejemplo
4: Dado los número binarios M = 1010100 y N =
1000011, hágase la resta:
N - M, utilizando el complemento a 2’s.
|
N =
|
1000011
|
0101011 (CA1’s de M)
|
|
Complemento a 2’s de M =
|
+ 0101100
|
1
|
|
Suma =
|
1101111
|
0101100 (CA2’s)
|
|
No hay acarreo final =
|
|
|
|
Respuesta = - (CA 1’s para
1101110)
= - 0010001
|
|
|