CVAVR上直接浮点计算比转整换算快?
编译器采用CVAVR,mega328P单片机,计算18B20温度转换.采用简单的IO翻转输出
这个是使用转整计算
计算耗时输出
/---------------------------------------------------------------------
第二个是直接浮点
计算耗时输出
很明显耗时比较小,这样的话以前的那些转整计算不是没啥意思么?我错在哪了? 编译后是不是用了专用的库了 编译后是不是用了专用的库了 ersha4877 发表于 2017-4-18 11:07
编译后是不是用了专用的库了
怎么看用不用专用库? huangguimina4 发表于 2017-4-18 11:43
怎么看用不用专用库?
不懂只是猜测好像CVAVR自己有很多的库文件的所以有这么一说 浮点本质上也是整数运算, 只是前后添加了对阶移位.两次整数运算(特别是除法)有可能比一次浮点运算慢 qinxg 发表于 2017-4-18 15:23
浮点本质上也是整数运算, 只是前后添加了对阶移位.两次整数运算(特别是除法)有可能比一次浮点运算慢 ...
看来,有时候也是不必转整了{:lol:} 除法耗时比较长 在没有硬件除法的情况下,浮点乘法要比整数除法快的多 应该是编译器优化,625是个特殊数值。看看汇编就知道啦 temp*0.625 = temp*10/16
页:
[1]