Complemento a dos, diferentes métodos de conversión.

Iniciado por GGZ, Agosto 11, 2017, 08:54:13 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Agosto 11, 2017, 08:54:13 AM Ultima modificación: Agosto 11, 2017, 02:04:35 PM por Gabriela
Hola, voy directo.

Sé como convertir un número a negativo usando la rápida conversión de C_{N}^{2} (complemento a dos (explicado en wiki) y también utilizando la fórmula 2^n-N.
Pero fallo al querer convertir el mismo número usando complemento a 1 para luego sumar 1 con el objetivo de llegar al mismo resultado que usando la conversión rápida y la fórmula (esto pasa sólo cuando agrego más ceros al numero).

Por ejemplo:

45 (010011), a través de la fórmula de comp a dos es 010011 (-45)
Ahora tenemos un problema, en este ejemplo se trabajo con número de bits a 6, entonces es lo mismo 19 que -45 (en binario), para solucionar esto vamos a agregar más ceros a 45 para que nos de otra representación (está mejor explicado en wiki):

45 expresado en 8 bits:
00010011
Si utilizamos la fórmula llegaremos a 11010011 (-45)

Pero si uso complemento a uno y sumo 1, no llego a lo mismo. ¿Por qué? (complemento a uno es hacer la negación de todos los bits solamente)

C_{N}^{1}(00010011) =

11101100
00000001 +
-----------
11101101 != 11010011,  ¿por qué?

¿Será que no se puede usar así el C_{N}^{1}?

Saludos