Complemento a dos

Complemento a dos Decimal
0111 7
0110 6
0101 5
0100 4
0011 3
0010 2
0001 1
0000 0
1111 −1
1110 −2
1101 −3
1100 −4
1011 −5
1010 −6
1001 −7
1000 −8

Complemento a dos con enteros de 4 bits

El complemento a dos de un número N que, expresado en el sistema binario está compuesto por n dígitos, se define como:

El total de números positivos será y el de negativos , siendo n el número máximo de bits. El 0 contaría aparte.

Veamos un ejemplo: tomemos el número que, cuando se expresa en binario es , con 6 dígitos, y calculemos su complemento a dos:

, ; y, por lo tanto:

Puede parecer farragoso, pero es muy fácil obtener el complemento a dos de un número a partir de su complemento a uno, porque el complemento a dos de un número binario es una unidad mayor que su complemento a uno, es decir:

Cabe señalar que en este ejemplo se ha limitado el número de bits a 6, por lo que no sería posible distinguir entre el -45 y el 19 (el 19 en binario es 10011). En realidad, un número en complemento a dos se expresa con una cantidad arbitraria de unos a la izquierda, de la misma manera que un número binario positivo se expresa con una cantidad arbitraria de ceros. Así, el -45, expresado en complemento a dos usando 8 bits sería 11010011, mientras que el 19 sería 00010011; y expresados en 16 bits serían 1111111111010011 y 0000000000010011 respectivamente. Se presenta la tabla de verdad del complemento a 2 para cuatro dígitos.

Cálculo del complemento a dos

El cálculo del complemento a dos es muy sencillo y muy fácil de realizar mediante puertas lógicas, donde reside su utilidad.

Para comenzar los números positivos se quedarán igual en su representación binaria. Los números negativos deberemos invertir el valor de cada una de sus cifras, es decir realizar el complemento a uno, y sumarle 1 al número obtenido. Podemos observar esto en la tabla de ejemplo.

Cabe recordar que debido a la utilización de un bit para representar el signo, el rango de valores será diferente al de una representación binaria habitual; el rango de valores decimales para «n» bits será:

Other Languages
العربية: متمم ثنائي
فارسی: مکمل دو
עברית: משלים ל-2
日本語: 2の補数
한국어: 2의 보수
lumbaart: Complement a du
Nederlands: Two's complement
Simple English: Two's complement
slovenščina: Dvojiški komplement
српски / srpski: Komplement dvojke
українська: Доповняльний код
Tiếng Việt: Bù 2
中文: 二補數