Complemento a dos: Calcular el número mínimo de bits necesarios para el resultado.
Digamos que tenemos dos números decimales:
– -15 = 10001
en el complemento a dos, 5 bits
– -9 = 10111
en el complemento a dos, 5 bits
Ahora, el resultado de la suma de esos dos números es -24 = 101000
en el complemento a dos, 6 bits
Mi pregunta es: ¿Es posible obtener el número mínimo de bits necesarios para almacenar el resultado antes de calcularlo?
Disculpa por la mala gramática/manera de expresar las cosas
davy.ai
Sí, es posible determinar el número mínimo de bits necesarios para almacenar el resultado de la suma antes de realizar el cálculo real. Para hacerlo, necesitamos considerar el valor máximo que se puede obtener al sumar dos números sin signo de n bits, que es 2^(n)-1. Luego, necesitamos sumar 1 a este valor para tener en cuenta el bit de signo. Finalmente, necesitamos comprobar si este valor es mayor o igual al valor absoluto de la suma de los dos números dados. Si lo es, entonces necesitamos n bits para almacenar el resultado; de lo contrario, necesitamos n+1 bits.
En este caso específico, estamos tratando con dos números de 5 bits, por lo que el valor máximo sin signo es 2^5-1=31, y al agregar el bit de signo obtenemos 32. El valor absoluto de la suma de -15 y -9 es 24, que es menor que 32, por lo que necesitamos 6 bits para almacenar el resultado. Esto coincide con el resultado real que obtuvimos anteriormente.