Complemento a uno

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Complemento a uno Decimal
0111 7
0110 6
0101 5
0100 4
0011 3
0010 2
0001 1
0000 0
1111 0
1110 −1
1101 -2
1100 −3
1011 −4
1010 −5
1001 −6
1000 −7

Complemento a uno con enteros de 4 bits

El complemento a uno de un número binario es una operación matemática muy importante en el campo de la computación, ya que nos permite obtener la representación binaria de números negativos. Se obtiene al cambiar cada uno de los dígitos del número binario N por su complementario, esto es, cambiar los unos por ceros y los ceros por unos.

Por ejemplo:

Número binario = (001010110)_2 = (86)_{10}
Complemento a uno = (110101001)_2 = (-86)_{10}

Podemos referirnos al complemento a uno como la función complemento a uno C_1^N, que también se puede definir como el complemento a dos menos una unidad, es decir C_1^N = C_2^N - 1. Es trivial a partir de la definición anterior, que el complemento a dos se puede definir como C_2^N = C_1^N + 1.

Por ejemplo, vamos a calcular el complemento a 1 del número (45)_{10} que, expresado en binario (101101)_2 tiene 6 dígitos:

N = 45; n = 6; 2^6 = 64

su complemento a dos es: C_2^N = 2^n - N = 64 - 45 = 19 = (010011)_2 y, su complemento a uno es una unidad menor:

                                010011
                               -000001
                               -------
                                010010

Existe una desventaja a la hora de utilizar el complemento a uno para representar números negativos que hace más adecuado el complemento a dos, y es que existen dos posibles representaciones para el número cero.

Véase también[editar]