Programación de suma en punto flotante
#Contains "stdio.h"
float add float ndint(float fa, int nb)
{
int bis nativo = 0; //¿Es un número negativo?
int na = *(int *) amp; //flotar como operación int
int nHighMask = 0xFF lt lt23; //máscara de exponente de potencia
int nMask = ((1 lt; lt23) - 1); // máscara base
int nMe = (1 lt; lt23) (na & nMask); >
int n power =((na amp; nHighMask)> gt23) - 127; //Exponente de potencia
if(fa lt; 0)
{< / p>
nMe =-nMe;
}
// Convierta nb al número binario correspondiente para la operación, es decir, alineación del punto decimal.
int nfnb = nb lt lt(potencia 23-n);
if (nb lt0)
{
nfnb =- nfnb;
}
nMe = nMe nfnb;
if (nMe lt0)
{
bis nativo = 1;
nMe =-nMe;
}
char nMaxPosNoZero = 30 //Recalcular el índice
for(; nMaxPosNoZero >
}
n potencia = nMaxPosNoZero-(potencia 24-n);
if(nMaxPosNoZero lt;23)
{
na = nMe lt lt(23-nMaxPosNoZero);
}
Otro
{
na = nMe gt gt( nMaxPosNoZero-23);
}
na =(n potencia 127) lt;
na =(bisNative) lt30;
return *(float *) amp;
}
int my_main()
{
float fa = addfloatandint(5.04f, 5);
printf(".3f\n ", fa);
Devuelve 0
} p>