Complemento de unos


El complemento a unos de un número binario es el valor obtenido al invertir todos los bits en la representación binaria del número (intercambiando ceros y unos). Esta operación matemática es de interés principalmente en las ciencias de la computación , donde tiene diferentes efectos dependiendo de cómo una computadora específica represente los números.

Un sistema de complemento a unos o una aritmética de complemento a unos es un sistema en el que los números negativos están representados por el inverso de las representaciones binarias de sus correspondientes números positivos. En tal sistema, un número se niega (se convierte de positivo a negativo o viceversa) calculando el complemento de sus unidades. Un sistema numérico de complemento a uno de N bits solo puede representar números enteros en el rango - (2 N − 1 −1) a 2 N − 1 −1, mientras que el complemento a dos puede expresar −2 N − 1 a 2 N − 1 −1. Es una de las tres representaciones comunes de números enteros negativos en microprocesadores , junto con el complemento a dos ysigno-magnitud .

El sistema de numeración binaria en complemento a unidades se caracteriza porque el complemento de bits de cualquier valor entero es el negativo aritmético del valor. Es decir, invertir todos los bits de un número (el complemento lógico) produce el mismo resultado que restar el valor de 0.

Muchas de las primeras computadoras, incluidas UNIVAC 1101 , CDC 160 , CDC 6600 , LINC , PDP-1 y UNIVAC 1107 , usaban aritmética de complemento. Los sucesores del CDC 6600 continuaron usando la aritmética del complemento de uno hasta finales de la década de 1980, y los descendientes del UNIVAC 1107 (la serie UNIVAC 1100/2200 ) todavía lo hacen, pero la mayoría de las computadoras modernas usan el complemento de dos .

Los números positivos son el mismo sistema binario simple utilizado por el complemento a dos y la magnitud de signo. Los valores negativos son el complemento de bits del valor positivo correspondiente. El valor positivo más grande se caracteriza porque el bit de signo (orden superior) está desactivado (0) y todos los demás bits están activados (1). El valor negativo más bajo se caracteriza porque el bit de signo es 1 y todos los demás bits son 0. La siguiente tabla muestra todos los valores posibles en un sistema de 4 bits, de −7 a +7.

Agregar dos valores es sencillo. Simplemente alinee los valores en el bit menos significativo y agregue, propagando cualquier acarreo al bit una posición a la izquierda. Si el acarreo se extiende más allá del final de la palabra, se dice que está "envuelto", una condición llamada " acarreo de extremo alrededor ". Cuando esto ocurre, el bit debe volver a agregarse en el bit más a la derecha. Este fenómeno no ocurre en la aritmética en complemento a dos.