Está en la página 1de 5

Métodos y aplicaciones del complemento a dos

en la computación.
Univ. Francisco R. Aguilera1
1 Trabajo de Investigación Nº 2 de la Cátedra de Organización y Arquitectura de Computadores I,
Carrera de Ingeniería en Informática, Facultad Politécnica, Universidad Nacional de Asunción. Email:
rolandoaguilera99@fpuna.edu.py
2 Profesor: Ing. César Ignacio Fernández Ferreira

Resumen
El sistema de números binarios es uno de los tipos de técnicas de representación de números más populares
que se utilizan en los sistemas digitales. En el sistema binario, solo hay dos símbolos o posibles valores de
dígitos, es decir, 0 (apagado) y 1 (encendido). Representado por cualquier dispositivo que solo tenga 2 estados
operativos o posibles condiciones. En matemáticas, los números positivos (incluido el cero) se representan
como números sin signo. Es decir, no ponemos el signo (+) delante de ellos para mostrar que son números
positivos. Sin embargo, cuando se trata de números negativos, usamos un signo (-) delante del número para
mostrar que el número es negativo en valor y diferente de un valor positivo sin signo, y lo mismo es cierto
con números binarios con signo. Sin embargo, en los circuitos digitales no se prevé colocar un signo más
o incluso menos en un número, ya que los sistemas digitales funcionan con números binarios que están
representados en términos de "0 "1", como habíamos mencionado anteriormente. Es por esto que, los
2

científicos de la computación han propuesto un sistema de representación conocido como representación


binaria del complemento. En este trabajo estaremos estudiando los métodos y aplicaciones del complemento
a dos en la informática y los ordenadores.

Palabras clave: Binario, complemento, sistemas digitales, base numérica.

1 Complemento a uno
Antes de entrar a detalle con el complemento a dos, es importante entender como funciona el
complemento a uno, su predecesor directo. Las computadoras antiguas, como la UNIVAC o la PDP
utilizaban el complemento a uno como representación de negativos, pero a la larga fue desplazado
y casi todas las computadoras modernas utilizan el complemento a dos para sus cálculos.
El complemento a uno de un número binario se define como el valor obtenido al invertir todos
los bits en la representación binaria del número (intercambiando ceros por unos y viceversa). El
complemento del número de las unidades se comporta como el negativo del número original
en algunas operaciones aritméticas. Por ejemplo, el complemento a 1 de "0111.es "1000", o el
complemento a 1 de "1100.es "0011".
Esto obedece la siguiente regla:

(2N − 1) (1)

Una de las principales ventajas del complemento a uno es la suma y resta de dos números binarios.
Métodos y aplicaciones del En matemáticas, la resta se puede implementar de varias maneras diferentes, ya que A - B es lo
complemento a dos en la mismo que decir A + (-B) o -B + A, etc. Por lo tanto, la complicación de restar dos números binarios
computación (2020)
se puede realizar simplemente usando la suma.
Autor Sin embargo, a diferencia del complemento a dos, estas técnicas no han tenido un uso generali-
F. Aguilera
zado debido a problemas como el desplazamiento de −1, el negar el cero da como resultado un
Tutor de Cátedra patrón de cero, etc.
Ing. César Ignacio Fernández

1
Figura 1. Este es un ejemplo del funcionamiento clásico del complemento a uno. Fuente: Delighty Linux

Cuadro 1. Equivalentes binarios con su hexadecimal y complemento a uno. Fuente: Numerical Representations
On The Computer: Negative And Rational Numbers. James Tan, University of Calgary.

Bit Hexadecimal Complemento a uno


0000 0 0
0001 1 1
0010 2 2
0011 3 3
0100 4 4
0101 5 5
0110 6 6
0111 7 7
1000 8 -7
1001 9 -6
1010 10 -5
1011 11 -4
1100 12 -3
1011 13 -2
1011 14 -1

2 Complemento a dos
El complemento a dos es otro método como la magnitud de signo anterior y la forma de
complemento a uno, que podemos usar para representar números binarios negativos en un sistema
de números binarios con signo. En el complemento a dos, los números positivos son exactamente
los mismos que antes para los números binarios sin signo. Sin embargo, un número negativo está
representado por un número binario, que cuando se suma a sus correspondientes resultados
positivos equivalentes en cero.
En forma de complemento de dos, un número negativo es el complemento de 2 de su número
positivo con la resta de dos números siendo A - B = A + (complemento de 2 de B) usando el mismo
proceso que antes, básicamente, el complemento de dos es el complemento de uno + 1.
La principal ventaja del complemento de dos sobre el complemento de uno anterior es que
no existe un problema de doble cero, además es mucho más fácil generar el complemento de dos
de un número binario con signo. Por lo tanto, las operaciones aritméticas son relativamente más
fáciles de realizar cuando los números se representan en el formato de complemento a dos.

F. Aguilera | Métodos y aplicaciones del complemento a dos en la computación 2


2.1 Métodos de cálculo del complemento a dos
Método de la adición de la unidad
Supongamos que estamos trabajando con cantidades de 8 bits (por simplicidad) y supongamos
que queremos encontrar cómo −28 se expresaría en notación de complemento a dos. Primero
escribimos 28 en forma binaria:

00011100 (2)

Luego invertimos los dígitos. 0 se convierte en 1, 1 se convierte en 0.

11100011 (3)

Luego agregamos 1.
11100100 (4)

Así es como se escribiría −28 en binario de 8 bits.

Figura 2. Este es un ejemplo del funcionamiento clásico del complemento a dos. Se tiene el binario original
que es procesado mediante el complemento a uno, luego se agrega la unidad para obtener finalmente el
complemento a dos. Fuente: Delighty Linux

Método de la resta de 2N
La suma de un número y su complemento es una expresión de N bits con todos los 1 bits, que es
(como un número binario sin signo) 2N − 1. Entonces la adición de un número a sus resultados de
complemento de dos en los N bits más bajos el valor 0 y el bit de acarreo 1, en el que el último tiene
el peso (léase como un número binario sin signo) de 2N . Por lo tanto, en la aritmética binaria sin
signo, el valor del número negativo x ∗ del complemento a dos de un x positivo satisface la igualdad:

x ∗ = 2N − x . (5)

Por ejemplo, para encontrar la representación de 4 bits de −5 (los subíndices denotan la base de la
representación):
X = 510 (6)

En binario:
X = 01012 (7)

F. Aguilera | Métodos y aplicaciones del complemento a dos en la computación 3


Por lo tanto, con N = 4:

X ∗ = 2N − X = 24 − 510 = 1610 − 510 = 100002 − 01012 = 10112 (8)

El cálculo se puede hacer completamente en la base 10, convirtiendo a la base 2 al final:

X ∗ = 2N − X = 24 − 510 = 1110 = 10112 (9)

Figura 3. Este es un ejemplo del funcionamiento del complemento a dos por medio de la sustracción, un
método mucho más rápido que los tres pasos del complemento a uno. Fuente: Digital Circuits I, Choopan
Rattanapoka, 2015.

2.2 Aplicaciones del complemento a dos

Figura 4. Este es un ejemplo del funcionamiento del complemento a dos a través de un circuito digital. Fuente:
Digital Circuits I, Choopan Rattanapoka, 2015.

Los primeros programadores tuvieron que trabajar con código de máquina y volcados de
memoria binaria todo el día, y ver números negativos como magnitud de signo, o al menos como
complemento de 1, habría hecho sus trabajos un poco un poco más fácil. Al final, el sistema de
complementos de 2 ganó porque era más simple y más barato de crear en hardware.

F. Aguilera | Métodos y aplicaciones del complemento a dos en la computación 4


Una de las aplicaciones principales del complemento a dos son los sumadores/substractores
de bits.

3 Conclusiones
En el presente trabajo hemos visto el funcionamiento del complemento a dos en las ciencias
computacionales. Durante años los informáticos se rebuscaron para representar óptimamente
los números cotidianos a nivel máquina. El complemento a dos tiene sentido para ser usado
para enteros negativos. El complemento a uno es solo una técnica de cálculo que podría ser útil
para evaluar el complemento a dos. El verdadero rival (derrotado) del complemento a dos fue la
representación de magnitud de signo para enteros negativos.
El complemento a uno no tiene un uso especial para enteros negativos. El complemento a dos
tiene sentido porque puede usarse en aritmética natural de suma y resta sin necesidad de cambiar
los bits. Siempre que no se produzca un desbordamiento, el bit de signo del resultado es el valor
correcto. La promoción del número de bit en esta notación es directa, por ejemplo, para promover
un entero con signo de 8 bits a 16, simplemente podríamos repetir el bit de signo del valor entero
en el byte alto.
La principal ventaja del complemento de dos sobre el complemento de uno es que el comple-
mento de dos solo tiene un valor para cero. El complemento de uno tiene un cero "positivo un 2

cero "negativo". Luego, para agregar números usando el complemento de uno, primero debe hacer
la suma binaria, luego agregar un valor de acarreo final. Finalmente, el complemento a dos solo
tiene un valor para cero y no requiere valores de acarreo.

4 Bibliografía
Introduction to “The First Draft Report on the EDVAC”, John V. Neumann, IEEE Annals of the History
of Computing, 1993.
"Two’s Complement Multiplication", Karen Miller, University of Wisconsin–Madison, 2015.
"Two’s Complement", Thomas Finley, University of Cornell, 2000.
"Numerical Representations On The Computer: Negative And Rational Numbers", James Tan,
University of Calgary, 2007.

F. Aguilera | Métodos y aplicaciones del complemento a dos en la computación 5

También podría gustarte