69,336
社区成员
发帖
与我相关
我的任务
分享
float rf=(float)32.09;
ANLYSES_FLOAT:
int f;
memcpy(&f,&rf,4);
int tmp_fraction,tmp_exp,tmp_s;
tmp_fraction=(f&0x007fffff)|0x00800000; //尾数 (已加1)即(int)tmp_fraction=1.f*2^23
tmp_exp=(f&0x7f800000)>>23; //阶码
tmp_s=(f&0x80000000)>>31; //符号
float ret;
double e=pow(2.0,(double)(tmp_exp-127));
if(tmp_s==0)
ret=(float)(tmp_fraction*e/(1<<23));
else
ret=-(float)(tmp_fraction*e/(1<<23));
printf("%f\n",ret);
int i=1;
double j=1.0
if(i-(int)j==0)
printf("OK!\n")