En matemáticas e informática , el método de complementos es una técnica para codificar un rango simétrico de números enteros positivos y negativos de manera que puedan usar el mismo algoritmo (o mecanismo ) para la adición en todo el rango. Para un número dado de lugares, la mitad de las posibles representaciones de números codifican los números positivos, la otra mitad representa sus respectivos inversos aditivos . Los pares de números inversos mutuamente aditivos se denominan complementos . Por lo tanto, la resta de cualquier número se implementa sumando su complemento. El cambio de signo de cualquier número se codifica generando su complemento, lo que se puede hacer mediante un algoritmo muy simple y eficiente. Este método se usaba comúnmente en calculadoras mecánicas y todavía se usa en computadoras modernas . El concepto generalizado de complemento de base (como se describe a continuación) también es valioso en la teoría de números , como en el teorema de Midy .
El complemento a nueve de un número dado en representación decimal se forma reemplazando cada dígito por nueve menos ese dígito. Para restar un número decimal y (el sustraendo ) de otro número x (el minuendo ) se pueden utilizar dos métodos:
En el primer método, el complemento a nueve de x se suma a y . Luego, se forma el complemento a nueve del resultado obtenido para producir el resultado deseado.
En el segundo método, el complemento de nueve de y se suma a x y se suma uno a la suma. Luego se descarta el dígito más a la izquierda, "1", del resultado. Descartar el "1" más a la izquierda es especialmente conveniente en calculadoras o computadoras que usan un número fijo de dígitos: no hay ningún lugar donde colocarlo, por lo que simplemente se pierde durante el cálculo. El complemento de nueve más uno se conoce como complemento de diez.
El método de complementos se puede extender a otras bases numéricas ( raíces ); en particular, se utiliza en la mayoría de las computadoras digitales para realizar restas, representar números negativos en base 2 o aritmética binaria y probar el desbordamiento en el cálculo. [1]
El complemento de base de un número de dígitos en base se define como . En la práctica, el complemento de base se obtiene más fácilmente sumando 1 al complemento de base disminuido , que es . Si bien esto parece igualmente difícil de calcular como el complemento de base, en realidad es más simple ya que es simplemente el dígito repetido veces. Esto se debe a que (ver también Fórmula de serie geométrica ). Sabiendo esto, el complemento de base disminuido de un número se puede encontrar complementando cada dígito con respecto a , es decir, restando cada dígito en de .
La resta de de utilizando complementos de base disminuidos se puede realizar de la siguiente manera. Sume el complemento de base disminuido de a para obtener o equivalentemente , que es el complemento de base disminuido de . Además, tomando el complemento de base disminuido de da como resultado la respuesta deseada de .
Alternativamente, se puede utilizar el complemento de base, sumando el complemento de base de a para obtener o . Suponiendo que , el resultado será mayor o igual a y eliminar el punto inicial del resultado es lo mismo que restar , lo que hace que el resultado o simplemente , sea el resultado deseado.
En el sistema de numeración decimal , el complemento de base se denomina complemento de diez y el complemento de base disminuido, complemento de nueve . En binario , el complemento de base se denomina complemento de dos y el complemento de base disminuido, complemento de unos . La denominación de los complementos en otras bases es similar. Algunas personas, en particular Donald Knuth , recomiendan utilizar la colocación del apóstrofo para distinguir entre el complemento de base y el complemento de base disminuido. En este uso, el complemento de cuatro se refiere al complemento de base de un número en base cuatro, mientras que el complemento de cuatro es el complemento de base disminuido de un número en base 5. Sin embargo, la distinción no es importante cuando la base es evidente (casi siempre), y la diferencia sutil en la colocación del apóstrofo no es una práctica común. La mayoría de los escritores utilizan el complemento de uno y el complemento de nueve , y muchos manuales de estilo omiten el apóstrofo, recomendando el complemento de uno y el complemento de nueve .
Dígito | Complemento de nueves |
---|---|
0 | 9 |
1 | 8 |
2 | 7 |
3 | 6 |
4 | 5 |
5 | 4 |
6 | 3 |
7 | 2 |
8 | 1 |
9 | 0 |
El complemento a nueve de una cifra decimal es el número que se le debe sumar para obtener 9; el complemento a nueve de 3 es 6, el complemento a nueve de 7 es 2, y así sucesivamente, véase la tabla. Para formar el complemento a nueve de un número mayor, cada cifra se reemplaza por su complemento a nueve.
Considere el siguiente problema de resta:
873 [x, el minuendo]- 218 [y, el sustraendo]
Calcula el complemento de nueve del minuendo, 873. Súmalo al sustraendo 218, luego calcula el complemento de nueve del resultado.
126 [complemento de nueves de x = 999 - x]+ 218 [y, el sustraendo]————— 344 [999 - x + y]
Ahora calcula el complemento de nueves del resultado.
344 [resultado] 655 [complemento de nueves de 344 = 999 - (999 - x + y) = x - y, la respuesta correcta]
Calcula el complemento de nueve de 218, que es 781. Como 218 tiene tres dígitos, esto es lo mismo que restar 218 de 999.
A continuación se toma la suma de y el complemento a nueve de :
873 [x]+ 781 [complemento de nueve de y = 999 - y]————— 1654 [999 + x - y]
Luego se elimina el primer dígito "1", obteniéndose 654.
1654-1000 [-(999 + 1)]————— 654 [-(999 + 1) + 999 + x - y]
Esto todavía no es correcto. En el primer paso, se agregó 999 a la ecuación. Luego, se restaron 1000 al eliminar el 1 inicial. Por lo tanto, la respuesta obtenida (654) es uno menos que la respuesta correcta . Para solucionar esto, se agrega 1 a la respuesta:
654+ 1————— 655 [x-y]
Al sumar un 1 obtenemos 655, la respuesta correcta al problema de resta original. El último paso de sumar 1 se podría omitir si en su lugar se utilizara el complemento a diez de y en el primer paso.
En el siguiente ejemplo el resultado de la resta tiene menos dígitos que :
123410 [x, el minuendo]- 123401 [y, el sustraendo]
Usando el primer método la suma del complemento a nueve de y es
876589 [complemento de nueves de x]+ 123401 [y]———————— 999990
El complemento de nueves de 999990 es 000009. Quitando los ceros iniciales se obtiene 9, el resultado deseado.
Si el sustraendo, , tiene menos dígitos que el minuendo, , se deben agregar ceros a la izquierda en el segundo método. Estos ceros se convierten en nueves a la izquierda cuando se toma el complemento. Por ejemplo:
48032 [x]- 391 [año]
se puede reescribir
48032 [x]- 00391 [y con ceros a la izquierda]
Reemplazando 00391 por su complemento a nueve y sumando 1 se obtiene la suma:
48032 [x]+ 99608 [complemento de nueve de y]+ 1——————— 147641
Eliminando el 1 inicial obtenemos la respuesta correcta: 47641.
Dígito binario | Complemento a uno |
---|---|
0 | 1 |
1 | 0 |
El método de los complementos es especialmente útil en binario (base 2) ya que el complemento a uno se obtiene muy fácilmente invirtiendo cada bit (cambiando '0' por '1' y viceversa). La adición de 1 para obtener el complemento a dos se puede realizar simulando un acarreo en el bit menos significativo. Por ejemplo:
0110 0100 [x, es igual al decimal 100]- 0001 0110 [y, es igual al decimal 22]
se convierte en la suma:
0110 0100 [x]+ 1110 1001 [complemento a uno de y = 1111 1111 - y]+ 1 [para obtener el complemento a dos = 1 0000 0000 - y]——————————— 10100 1110 [x + 1 0000 0000 - y]
Si eliminamos el "1" inicial, obtenemos la respuesta: 0100 1110 (equivale al decimal 78)
El método de complementos normalmente supone que los operandos son positivos y que y ≤ x , restricciones lógicas dadas que la suma y resta de números enteros arbitrarios normalmente se hace comparando signos, sumando los dos o restando el menor del mayor y dando al resultado el signo correcto.
Veamos qué sucede si x < y . En ese caso, no habrá un dígito "1" para tachar después de la suma, ya que será menor que . Por ejemplo, (en decimal):
185 [x]- 329 [año]
Complementando y y sumando obtenemos:
185 [x]+ 670 [complemento de nueves de y]+ 1————— 856
En este punto, no hay una manera sencilla de completar el cálculo restando (1000 en este caso); no se puede simplemente ignorar un 1 inicial. La respuesta esperada es −144, que no está tan lejos como parece; 856 resulta ser el complemento a diez de 144. Esta cuestión se puede abordar de varias maneras:
El método de complementos se utilizó en muchas calculadoras mecánicas como alternativa a hacer girar los engranajes en sentido inverso. Por ejemplo:
El uso del método de complementos es omnipresente en los ordenadores digitales, independientemente de la representación que se utilice para los números con signo. Sin embargo, el circuito necesario depende de la representación:
El método de complementos se utilizaba para corregir errores cuando los libros de contabilidad se escribían a mano. Para eliminar una entrada de una columna de números, el contable podía añadir una nueva entrada con el complemento a diez del número a restar. Se añadía una barra sobre los dígitos de esta entrada para indicar su condición especial. A continuación era posible sumar toda la columna de cifras para obtener el resultado corregido.
Complementar la suma es útil para los cajeros que dan cambio por una compra en moneda de una sola denominación de 1 elevado a una potencia entera de la base de la moneda. Para monedas decimales, sería 10, 100, 1000, etc., por ejemplo, un billete de $10,00.
En las escuelas primarias, a veces se enseña a los estudiantes el método de los complementos como un atajo útil en el cálculo mental . [3] La resta se realiza sumando el complemento a diez del sustraendo , que es el complemento a nueve más 1. El resultado de esta suma se utiliza cuando está claro que la diferencia será positiva; de lo contrario, se utiliza el complemento a diez del resultado de la suma y se marca como negativo. La misma técnica funciona para restar en una máquina sumadora.