求大神指导 Keil C下怎么进行浮点数的加减乘除操作?

2019-07-15 17:30发布

ad转换中常用到小数计算加减乘除,能否直接进行如下操作呢????
float Rt_caculate(uchar ad_num)
{
        float m,n,s1,s2,floa_Rt;
        n=0.00990099;
        m=ad_num/255;
        s1=1-n-0.01*m;
        s2=1/s1-1;
        double_Rt=10000*s1-5.203;
        double_Rt=double_Rt*100;
        return float_Rt;
}

注:ad_num从0~255
如果不行,那该怎么办呢?难道要得到小数部分只能用先*100再逐位取余的方法吗???实在搞不懂a !!!!!!
求大神指导?C++中进行上述操作木有问题,Keil中难道就真的没法子吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
@曲终人散@
1楼-- · 2019-07-15 18:05
( ̄ε(# ̄)☆╰╮o( ̄皿 ̄///)
Yashingo
2楼-- · 2019-07-15 23:19
并没有严格要求,只要数据单位在float内就好了,只是考虑到代码的执行效率问题。还有你的代码有问题,定义float_rt但是从未引用,最后却返回float_rt。
lilipod
3楼-- · 2019-07-16 01:23
Yashingo 发表于 2016-8-29 08:22
并没有严格要求,只要数据单位在float内就好了,只是考虑到代码的执行效率问题。还有你的代码有问题,定义float_rt但是从未引用,最后却返回float_rt。

忘改了,代码中的倒数第二第三行都该把double_rt改成float_rt
@曲终人散@
4楼-- · 2019-07-16 03:30
 精彩回答 2  元偷偷看……
jianfeii
5楼-- · 2019-07-16 04:34
看你的cpu是否支持浮点数运算啊,一般都是不支持的.你把浮点数都弄成整形来计算呗.100就代表1.0就好了

一周热门 更多>