Complemento a 1

Complemento a 1

El complemento a 1 de un numero binario, es una forma de obtener la representacion binaria de números negativos. Este se obtiene invirtiendo cada bit de un numero(cambiando los unos por cero y viceversa).

Ejemplo:
  • -2 (en base 10) con 5 dígitos se representa en binario: 11101, mientras su opuesto (2 en base 10) se representa en binario: 00010.
  • 5 (en base 10) con 5 dígitos se representa en binario: 00101, mientras su opuesto (-5 en base 10) se representa en binario: 11010.

 Operación

  • Si hay bit de acarreo final, el resultado es positivo, pero hay que sumarle el bit de carreo final al resultado.
  • Si no hay acarreo al final el resultado es negativo

Suma

Suma en binario puro, excepto cuando son dos números de igual signo.

Resta

Para restar dos números con signo se calcula el complemento a 1 del sustraendo y se suman. Cualquier bit de acarreo final se suma al LSB(de mas a la derecha).

Ejemplos:

           Forma normal                                               Forma en complemento          Base 10                  
           
           01001000    ->Minuendo                                                   01001000             72
        -  00010110    ->Sustraendo                                                +11101001           -22
                                                           Hay bit de acarreo final<-100110001             50
                                                                                                   +               1
                                                                                                      00110010

Como vemos en el ejemplo tenemos el minuendo: 72(base 10) que se representa como 01001000 y el sustraendo: 22(base 10) que se representa como 00010110, si efectuamos la resta nos da: 50(base 10) que se representa como: 00110010.
Para poder hacer la resta en complemento a 1, agarramos el sustraendo: 00010110 y lo remplazamos por su complemento a 1(cambiando los 1 por cero y viceversa), esto nos da 11101001, una vez que sacamos su complemento procedemos a hacer una suma en binario. Una vez sumado revisamos si hay bit de acarreo final, en caso que haya bit de acarreo, procedemos a sumar ese bit de acarreo al resultado de la suma dando así el resultado real de la resta.


Comentarios

Entradas más populares de este blog

Cargador de programas

Arquitectura de 128 Bits