Complemento a dos

    Se llama complemento a dos a una forma de representación de números que reduce a sumas todas las restas que lleva a cabo un computador. En primer término, se definirá el complemento a uno de un número, que es la expresión que se obtiene cambiando en su codificación binaria los ceros por unos y los unos por ceros. Por ejemplo, el complemento a uno de 11001001 sería 00110110.

    El complemento a dos de un número binario es el logrado sumando 1 a su complemento a uno. Por ejemplo, si se desea hallar el complemento a 2 del número anterior, se actuaría del siguiente modo:

    1 1001001 Complemento a 1 = 00110110 Complemento a 2 = Complemento a 1 + 1 = 00110110 + 1 = 00110111

    Inversamente, para decodificar un número decimal en complemento a dos, basta con separar el bit (es decir, el 0 ó el 1) más a la izquierda y pasar a sistema decimal el resto de la expresión binaria. Si el bit separado es 0, el número así logrado es positivo y si es 1, el número será negativo. Por ejemplo, si tenemos el número 11110010 en complemento dos, separando el primer bit a la izquierda:

    1110010 = 0·20 + 1·21 + 0·22+0·23+ 1·24+1·25+ 1·26 = 114

    Como el bit separado es 1 (corresponde a negativo), la expresión decodificada equivale a -114.