Una forma diferente de convertir al complemento de 2

0

Una forma de convertir cualquier número al complemento de 2 es sumando el número a 256, si el número se puede representar con un número de 8 bits. Por ejemplo, si queremos convertir el complemento de -100 a 2, hacemos una suma con 256 para obtener 156, que tiene un valor binario de 10011100, pero si hacemos una conversión binaria mientras consideramos esto como un número de complemento de 2, obtendremos -128 + 16 + 8 + 4 = -100. Si parece estar funcionando, estoy obteniendo respuestas, pero no puedo entender por qué funciona esto, cuál es la lógica / matemática detrás de agregar un número de 8 bits. Cualquier ayuda / dirección será apreciada.

    
pregunta TapasX

1 respuesta

0

Lo que describe es cómo está diseñado el complemento a 2: si comienza con 0 y agrega 1, obtiene el valor 1, si resta 1, obtiene el valor -1. 0b0000_0000 - 1 = 0b1111_1111 (que es 255 cuando se interpreta como no firmado). Por lo tanto, puede calcular 0b1_0000_0000 - N para obtener (- N).

    
respondido por el Wouter van Ooijen

Lea otras preguntas en las etiquetas