二进制浮点数转十进制浮点数

tqwboy tqwboy 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我要将二进制的浮点数专程十进制的浮点数,如(0.11)2->(0.75)10,于是写下了下面这个程序,可是却无法得到正确结果,请各位高手帮我看看问题出在了哪里?我看得快吐血了……

float BAcount_float(float floating,int pow_num) //小数部分处理
{
int leach_int;
float leach_float1,leach_float2=0;

pow_num=-1;

while(floating!=0)
{
leach_int=floating*10; //取出小数中的一位
floating=floating*10-leach_int; //让排后的小数前进一位

leach_float1=pow(2,pow_num);

leach_float1=leach_float1*leach_int+leach_float2;

leach_float2=leach_float1;

pow_num--;
}

return(leach_float2);
}
...全文
评论 8
收藏 已收藏
分享
返回顶部
tqwboy
新手乐园 33,315 成员 41,769 内容