[Teórico Memorias ROM] Programa generador de PF Simple presición a PF Doble presición

[Teórico Memorias ROM] Programa generador de PF Simple presición a PF Doble presición

de Sebastian Daloia Servetti -
Número de respuestas: 0

Que tal, la duda es respecto a la primera parte del código

unsigned long int convertir(unsigned int pf32){

unsigned long int m32, exp32, m64, exp64;

m32 = pf32 & (2^32 -1);

exp32 = (pf32/2^23 )-2^8 ;

...


Según lo que entiendo la función toma un número representado en punto flotante, por ejemplo, si el número es 25828524032 (b10) = 10000000000110000000111 (b2) la entrada entonces sería su representación en punto flotante 0-10010101-000000000001100000001110 (en donde cada guión separa signo, exponente y valor normalizado).

La tercera linea toma la mantisa (sería 2^23 en lugar de 2^32 no?)

Y en la cuarta linea se toma el exponente (porqué se resta 2^8?, pienso que el objetivo es librarse del signo que es el dígito más significativo en ese caso no seria (pf32/2^23 )%2^8 ?).

Quise hacer unas pruebas en c++ pero me salen advertencias sobre las constantes decimales.

Saludos