Complemento a dos


El complemento a dos es una operación matemática sobre números binarios y es un ejemplo de un complemento de base . Se utiliza en informática como método de representación de números con signo .

El complemento a dos de un número de N bits se define como su complemento con respecto a 2 N ; la suma de un número y su complemento a dos es 2 N . Por ejemplo, para el número de tres bits 011 2 , el complemento a dos es 101 2 , porque 011 2 + 101 2 = 1000 2 = 8 10 que es igual a 2 3 . El complemento a dos se calcula invirtiendo los bits y sumando uno.

El complemento a dos es el método más común para representar números enteros con signo en las computadoras, [1] y más generalmente, valores binarios de punto fijo . En este esquema, si el número binario 011 2 codifica el entero con signo 3 10 , entonces su complemento a dos, 101 2 , codifica el inverso: −3 10 . En otras palabras, el signo de la mayoría de los números enteros (todos menos uno) se puede invertir en este esquema tomando el complemento a dos de su representación binaria. [2] Las tablas de la derecha ilustran esta propiedad.

En comparación con otros sistemas para representar números con signo ( p. Ej., Complemento a uno ), el complemento a dos tiene la ventaja de que las operaciones aritméticas fundamentales de suma , resta y multiplicación son idénticas a las de los números binarios sin signo (siempre que las entradas estén representadas en el mismo número de bits que la salida, y cualquier desbordamiento más allá de esos bits se descarta del resultado). Esta propiedad hace que el sistema sea más sencillo de implementar, especialmente para aritmética de mayor precisión. A diferencia de los sistemas de complemento de unos, el complemento de dos no tiene representación del cero negativo y, por lo tanto, no sufre las dificultades asociadas.

Convenientemente, otra forma de encontrar el complemento a dos de un número es tomar el complemento a uno y sumar uno: la suma de un número y el complemento a uno son todos los bits "1", o 2 N - 1 ; y, por definición, la suma de un número y su de dos complemento es 2 N .

El método de los complementos se había utilizado durante mucho tiempo para realizar la resta en las máquinas sumadoras decimales y las calculadoras mecánicas . John von Neumann sugirió el uso de la representación binaria en complemento a dos en su Primer Borrador de un Informe de 1945 sobre la propuesta de EDVAC para una computadora digital electrónica con programa almacenado. [3] El EDSAC de 1949 , que se inspiró en el Primer Borrador , utilizó la representación en complemento a dos de los números binarios.