En matemáticas e informática , el método de complementos es una técnica para codificar un rango simétrico de enteros positivos y negativos de manera que puedan usar el mismo algoritmo (o mecanismo ) para la suma en todo el rango. Para un número dado de posiciones , la mitad de las posibles representaciones de números codifican los números positivos, y la otra mitad representa sus respectivos inversos aditivos . Los pares de números inversos aditivos entre sí se llaman complementos . Así, 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 cual 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 del complemento de base (como se describe más adelante) también es valioso en 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, se suma el complemento a nueve de x a y . Luego, se forma el complemento a nueve del resultado obtenido para producir el resultado deseado.
En el segundo método, se suma el complemento a nueve de y a x y se añade uno a la suma. El dígito '1' del resultado se descarta. Descartar el '1' del extremo izquierdo es especialmente útil en calculadoras o computadoras que usan un número fijo de dígitos: no hay dónde colocarlo, por lo que simplemente se pierde durante el cálculo. El complemento a nueve más uno se conoce como complemento a diez.
El método de los complementos puede extenderse 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 comprobar el desbordamiento en los cálculos. [ 1 ]
Complementos numéricos
El complemento de base de un-número de dígitosen raízse define como. En la práctica, el complemento a la raíz se obtiene más fácilmente sumando 1 al complemento a la raíz disminuido , que es. Si bien esto parece igual de difícil de calcular que el complemento a la base, en realidad es más sencillo ya quees simplemente el dígitorepetidoveces en base dos. Esto se debe a que
(véase también Fórmula de la serie geométrica ). Sabiendo esto, el complemento a la base disminuida de un número se puede encontrar complementando cada dígito con respecto a, es decir, restar cada dígito ende.
La resta dedeEl uso de complementos radix disminuidos se puede realizar de la siguiente manera. Añada el complemento radix disminuido deapara obtenero equivalentemente, que es el complemento de raíz disminuido de. Tomando además el complemento de raíz disminuido deda como resultado la respuesta deseada de.
Alternativamente, utilizando el complemento de la base,se puede obtener añadiendo el complemento de la base deapara obtenero. Suponiendo, el resultado será mayor o igual quey dejando caer el líderdel resultado es lo mismo que restar, haciendo que el resultadoo simplemente, el resultado deseado.
En el sistema de numeración decimal , el complemento a la base se llama complemento a las diez y el complemento a la base disminuido complemento a las nueve . En binario , el complemento a la base se llama complemento a las dos y el complemento a la base disminuido complemento a las uno . La nomenclatura de los complementos en otras bases es similar. Algunas personas, en particular Donald Knuth , recomiendan usar la posición del apóstrofo para distinguir entre el complemento a la base y el complemento a la base disminuido. En este uso, el complemento a cuatro se refiere al complemento a la base de un número en base cuatro, mientras que el complemento a cuatro es el complemento a la base disminuido de un número en base cinco. Sin embargo, la distinción no es importante cuando la base es evidente (casi siempre), y la sutil diferencia en la posición del apóstrofo no es una práctica común. La mayoría de los escritores usan el complemento a uno y el complemento a nueve , y muchos manuales de estilo omiten el apóstrofo, recomendando el complemento a uno y el complemento a nueve .
Ejemplo decimal
El complemento a nueve de un dígito decimal es el número que se debe sumarle para obtener 9; el complemento a nueve de 3 es 6, el de 7 es 2, y así sucesivamente (véase la tabla). Para formar el complemento a nueve de un número mayor, cada dígito se reemplaza por su complemento a nueve.
Consideremos el siguiente problema de resta:
873 [x, el minuendo] - 218 [y, el sustraendo]
Primer método
1. Calcula el complemento a nueve del minuendo (873).
999 - 873 = 126
2. Suma eso al sustraendo (218).
126 [complemento a nueves de x = 999 - x] + 218 [y, el sustraendo] ————— 344 [999 - x + y]
3. Ahora calcula el complemento a nueve del resultado.
344 [resultado] 655 [complemento a nueve de 344 = 999 - (999 - x + y) = x - y, la respuesta correcta]
Segundo método
1. Calcula el complemento a nueve de 218, que es 781. Como 218 tiene tres dígitos, esto es lo mismo que restar 218 de 999.
2. A continuación, la suma dey el complemento de nueves deestá ocupado.
873 [x] + 781 [complemento a nueve de y = 999 - y] ————— 1654 [999 + x - y]
3. A continuación, se elimina el dígito "1" inicial, dando como resultado 654.
1654 -1000 [-(999 + 1)] ————— 654 [-(999 + 1) + 999 + x - y]
4. Esto aún no es correcto. En el primer paso, se sumó 999 a la ecuación. Luego se restó 1000 cuando se eliminó el 1 inicial. Por lo tanto, la respuesta obtenida (654) es uno menos que la respuesta correcta.Para corregir esto, se suma 1 a la respuesta.
654 + 1 ————— 655 [x - y]
Sumando 1 obtenemos 655, la respuesta correcta a nuestra resta original. El último paso de sumar 1 podría omitirse si, en lugar de eso, se utilizara el complemento a diez de y en el primer paso.
Magnitud de los números
En el siguiente ejemplo, el resultado de la resta tiene menos dígitos que:
123410 [x, el minuendo] - 123401 [y, el sustraendo]
Utilizando el primer método, la suma del complemento a nueve deyes
876589 [complemento a nueves de x] + 123401 [y] ———————— 999990
El complemento a nueve de 999990 es 000009. Al eliminar los ceros iniciales se obtiene 9, el resultado deseado.
Si el sustraendo,, tiene menos dígitos que el minuendo,En el segundo método, se deben agregar ceros iniciales. Estos ceros se convierten en nueves iniciales cuando se toma el complemento. Por ejemplo:
48032 [x] - 391 [y]
puede ser reescrito
48032 [x] - 00391 [y con ceros iniciales]
Sustituyendo 00391 por su complemento a nueve y sumando 1 se obtiene la suma:
48032 [x] + 99608 [complemento a nueve de y] + 1 ——————— 147641
Si se elimina el 1 inicial, se obtiene la respuesta correcta: 47641.
Método binario
El método de 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). Para obtener el complemento a dos, se puede sumar 1 simulando un acarreo en el bit menos significativo . Por ejemplo:
0110 0100 [x, es igual a decimal 100] - 0001 0110 [y, es igual a 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 se elimina el "1" inicial, se obtiene la respuesta: 0100 1110 (equivalente a decimal 78).
Representaciones de números negativos
El método de los complementos normalmente supone que los operandos son positivos y que y ≤ x , restricciones lógicas dado que la suma y la resta de enteros arbitrarios normalmente se hacen 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 queserá menor quePor ejemplo, (en decimal):
185 [x] - 329 [y]
Complementando y y sumándole obtenemos:
185 [x] + 670 [complemento a nueves de y] + 1 ————— 856
En este punto, no hay una forma sencilla de completar el cálculo mediante la resta.(1000 en este caso); no se puede simplemente ignorar un 1 inicial. La respuesta esperada es −144, que no está tan lejos de lo que parece; 856 resulta ser el complemento a diez de 144. Este problema se puede abordar de varias maneras:
- Ignora el problema. Esto es razonable si una persona está utilizando una calculadora que no admite números negativos, ya que comparar los dos operandos antes del cálculo para que puedan introducirse en el orden correcto y verificar que el resultado sea razonable es algo fácil de hacer para los humanos.
- Utiliza el mismo método para restar 856 de 1000 y, a continuación, añade un signo negativo al resultado.
- Representa los números negativos como complementos de base de sus contrapartes positivas. Los números menores queSe consideran positivos; el resto se consideran negativos (y su magnitud se puede obtener tomando el complemento a la base). Esto funciona mejor para las bases pares, ya que el signo se puede determinar observando el primer dígito. Por ejemplo, los números en notación de complemento a diez son positivos si el primer dígito es 0, 1, 2, 3 o 4, y negativos si es 5, 6, 7, 8 o 9. Y funciona muy bien en binario, ya que el primer bit puede considerarse un bit de signo : el número es positivo si el bit de signo es 0 y negativo si es 1. De hecho, el complemento a dos se utiliza en la mayoría de las computadoras modernas para representar números con signo.
- Complementa el resultado si no hay acarreo de salida del dígito más significativo (lo que indica que x era menor que y ). Esto es más fácil de implementar con circuitos digitales que comparar e intercambiar los operandos. Pero como tomar el complemento a la base requiere sumar 1, es difícil hacerlo directamente. Afortunadamente, se puede usar un truco para evitar esta suma: en lugar de establecer siempre un acarreo en el dígito menos significativo al restar, el acarreo de salida del dígito más significativo se usa como entrada de acarreo en el dígito menos significativo (una operación llamada acarreo de extremo a extremo ). Así, si y ≤ x , el acarreo del dígito más significativo que normalmente se ignora se suma, produciendo el resultado correcto. Y si no, el 1 no se suma y el resultado es uno menos que el complemento a la base de la respuesta, o el complemento a la base disminuido, que no requiere una suma para obtenerse. Este método lo usan las computadoras que usan signo y magnitud para representar números con signo.
Usos prácticos

El método de los complementos se utilizaba en muchas calculadoras mecánicas como alternativa al giro inverso de los engranajes. Por ejemplo:
- La calculadora de Pascal tenía dos conjuntos de dígitos para el resultado: uno negro que mostraba el resultado normal y otro rojo que mostraba el complemento a nueve de este. Una lámina horizontal cubría uno de estos conjuntos, dejando al descubierto el otro. Para restar, se exponían los dígitos rojos y se ponían a cero. A continuación, se introducía el complemento a nueve del minuendo. En algunas máquinas, esto se podía hacer marcando el minuendo mediante ruedas interiores de complementos (es decir, sin tener que calcular mentalmente el complemento a nueve del minuendo). Al visualizar esos datos en la ventana de complementos (conjunto rojo), el operador podía ver el complemento a nueve del complemento a nueve del minuendo, es decir, el minuendo. A continuación, se movía la lámina para exponer los dígitos negros (que ahora mostraban el complemento a nueve del minuendo) y se sumaba el sustraendo marcándolo. Finalmente, el operador tenía que mover la lámina de nuevo para leer la respuesta correcta.
- El Comptómetro tenía los dígitos del complemento a nueve impresos en letra más pequeña junto con los dígitos normales en cada tecla. Para restar, se esperaba que el operador restara mentalmente 1 al sustraendo e introdujera el resultado usando los dígitos más pequeños. Dado que restar 1 antes de complementar es equivalente a sumar 1 después, el operador sumaría efectivamente el complemento a diez del sustraendo. El operador también debía mantener pulsada la pestaña de "corte de resta" correspondiente al dígito más a la izquierda de la respuesta. Esta pestaña impedía que el acarreo se propagara más allá de ella, el método del Comptómetro para descartar el 1 inicial del resultado. [ 2 ]
- La calculadora Curta utilizaba el método de complementos para la resta, y lograba ocultarlo al usuario. Los números se introducían mediante deslizadores digitales situados en el lateral del dispositivo. El número de cada deslizador se sumaba a un contador de resultados mediante un mecanismo de engranajes que accionaba levas en un tambor giratorio escalonado. El tambor se hacía girar mediante una manivela en la parte superior del instrumento. El número de levas que encontraba cada dígito al girar la manivela dependía de su valor. Por ejemplo, si un deslizador se colocaba en la posición "6", se encontraría una fila de 6 levas alrededor del tambor correspondiente a esa posición. Para la resta, el tambor se desplazaba ligeramente antes de girarlo, lo que movía una fila diferente de levas. Esta fila alternativa contenía el complemento a nueve de los dígitos. Así, la fila de 6 levas que había estado en posición para la suma ahora tenía una fila con 3 levas. El tambor desplazado también accionaba una leva adicional que sumaba 1 al resultado (como requería el método de complementos). El complemento a diez "desbordamiento 1", siempre presente, que se extendía más allá del dígito más significativo del registro de resultados, fue, en efecto, descartado.
En las computadoras
El uso del método de complementos es omnipresente en las computadoras digitales, independientemente de la representación utilizada para los números con signo. Sin embargo, el circuito requerido depende de la representación:
- Si se utiliza la representación en complemento a dos, la resta solo requiere invertir los bits del sustraendo y colocar un acarreo en el bit más a la derecha.
- El uso de la representación en complemento a uno requiere invertir los bits del sustraendo y conectar el acarreo de salida del bit más significativo con el acarreo de entrada del bit menos significativo (acarreo de extremo a extremo).
- El uso de la representación de signo-magnitud solo requiere complementar el bit de signo del sustraendo y sumar, pero la lógica de suma/resta necesita comparar los bits de signo, complementar una de las entradas si son diferentes, implementar un acarreo de extremo a extremo y complementar el resultado si no hubo acarreo del bit más significativo.
Usos manuales
El método de los 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 la decena del número que se iba a restar. Se añadía una barra sobre los dígitos de esta entrada para indicar su carácter especial. A continuación, era posible sumar toda la columna de cifras para obtener el resultado corregido.
Complementar la suma resulta útil para los cajeros que dan el cambio de una compra en billetes de una sola denominación (1 elevado a una potencia entera de la base de la moneda). Para monedas decimales, esto sería 10, 100, 1000, etc., por ejemplo, un billete de $10.00.
En la educación primaria
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 usa cuando es evidente que la diferencia será positiva; de lo contrario, se usa el complemento a diez del resultado de la suma, marcado como negativo. La misma técnica funciona para restar en una máquina de sumar.
Véase también
Referencias
- aritmética informática