Tabla de Contenidos

Complementos: a 1 y 2

El complemento a 1 y a 2 de un número binario permiten la representación de números negativos. El método de complemento a 2 es comúnmente usado por las computadoras para representar los negativos.

Complemento a 1

El complemento a 1 de un número binario se obtiene representándolo primero en SM, es decir el bit más significativo, representa el signo y el resto de los bits la magnitud. Luego se procede de 2 formas distintas dependiendo del signo del valor a representar. El complemento a 1 C(1) de un valor es:

Primero lo representamos en SM, como estamos usando 4 bits quedaría así Luego complementamos los bits restantes

El bit mas significativo, nos indica que el número es negativo. -6.

Analicemos otro ejemplo; pero ahora con 8 bits (1 byte), representemos el número -1710 en C1.

Paso 0 ) Como primer paso escribimos el número en SM: Paso 1 ) Como el número a representar es negativo (-17), complemento y queda así:


Ahora supongamos que tenemos un número que está en C1: 0011 ¿Cómo lo pasamos a SM?.

Paso 0) Si el número tiene en su bit más significativo un 0, quiere decir que es positivo, entonces su representacion quedaría exactamente igual.





Probemos otro número que está en C1: 11101100 ¿Cómo lo pasamos a SM o a binario?. ¡Lo volvemos a complementar a C1!

Paso 0) Si el número tiene en su bit más significativo un 0, quiere decir que es positivo, entonces su representacion quedaría exactamente igual. Este no es el caso ya el bit 7 tiene valor 1

Paso 1) Complemento para obtener el valor numérico en SM.

Pensemos ahora, en el rango de representación, dicho de otra forma, ¿Cuál es número más grande y el más chico que puedo representar con n bits?

Partamos de un ejemplo fácil con 4 bits

C1 Decimal
1000 -7
1001 -6
1010 -5
1011 -4
1100 -3
1101 -2
1110 -1
1000 -0
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7

Vemos que el 0 tiene doble representación, lo cual genera un problema. Veamos el rango de representación, seria así: [ -(24-1-1), 24-1-1) ] –> (-7, 7)

Generalizando para n bits:

[ -(2n-1-1), 2n-1-1) ]


Complemento a 2

En la actualidad la representación más utilizada en las computadoras es complemento a dos. Sin embargo, primero estudiamos las otras representaciones dado que son más simples y sirven como una buena base para el complemento a dos.

Veamos mediante ejemplos como pasar un número binario SM a C2

El complemento a 2 C2 de un número binario se obtiene, primero lo pasamos a C1 luego le sumamos 1, al bit menos significativo.

Primero lo representamos en SM, luego en C1 y para convertirlo finalmente a C2, le sumamos 1 al bit menos siginficativo. Como estamos usando 4 bits quedaría así

y ahora sumamos 1

Sigamos con más ejemplos, convirtamos por ejemplo con el número -74(10) a C2 trabajando con 8 bits:


Ahora supongamos que tenemos un número que está en C2: 10110110 ¿Cómo lo pasamos a SM?. ¡Lo complementamos a 2!

Veamos el rango de representación, ¿Cuál es número más grande y el más chico que puedo representar con n bits?

Ejemplo fácil con 4 bits

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

Ahora vemos que el 0 no presenta el problema de la doble representación de C1 . Veamos el rango de representación, seria así: [ -(24-1), 24-1-1) ] –> (-8, 7)

Generalizando para n bits:

[ -(2n-1), 2n-1-1) ]


Tabla Comparativa (representación en 4 bits)

Volver

Mariano Vargas LOL


(2720)