Buenas, tengo una consulta, ¿en este caso no seria if(signo==0), en lugar de signo==1?, si esta bien en la solucion, no me estaria terminando de quedar claro el motivo de esto
En respuesta a Rodrigo Alejandro Aguillon Stoletniy
Re: [2018][Febrero][Problema2]
de Gustavo Brown -
Si. Está al revés la pregunta del signo al final de todo.
Saludos,
Gustavo
Saludos,
Gustavo
Hola! Es necesario hacer el & 0x1FFFF de la última línea? Entiendo que eso hace la máscara para los primeros 17 bits, que son los que necesitamos, pero en los restantes 15 bits no hay ceros?
No hay ceros porque la expresión -entera en
ROM[1<<31|codExp<<23|frac] = (-entera + overflow) & 0x1FFFF;
aplica el complemento a 2 del número con lo cual rellena (en binario) a la izquierda todo con 1.
De hecho la sentencia igualmente está mal y deberia decir
ROM[1<<31|codExp<<23|frac] = (-entera & 0xFFFF ) | overflow;
Saludos,
Gustavo