打印
[STM32F1]

请教关于浮点数问题

[复制链接]
1586|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gdszzyq|  楼主 | 2016-10-21 18:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32F103系列进行浮点数运算时是不是很占CPU资源?
数值越大是不是更耗资源?比如10000000.0/30000000.0,需要耗多少机器周期?
还有定义FLOAT类型到底是多少字节的?
我是用2个整形变量相除得到小数类型数值,需要定义3个FLOAT类型变量吗?
沙发
gdszzyq|  楼主 | 2016-10-21 18:35 | 只看该作者
或者采用扩大被除数的方法就不会出现小数:
u32 a,b,c;
a=123456789;
b=234567890;
c=10000*a/b;
这样子处理会不会更耗资源?而且a*10000后会不会溢出?a定义为64位变量?

使用特权

评论回复
板凳
aozima| | 2016-10-21 18:36 | 只看该作者
本帖最后由 aozima 于 2016-10-21 18:40 编辑

调用软件浮点库去模拟,很多周期,可以自己去测算。然后分析你每秒要算多少次。比如计算器,那么渣的CPU都可以算浮点。

sizeof(float) == 4 ,可以自己写代码验证

除非参与的数值有浮点,才会自动升级数据类型,不然得到的还是整数。
f = (float)a / b;

使用特权

评论回复
地板
戈卫东| | 2016-10-21 18:45 | 只看该作者
浮点数运算时间和数值大小没有关系。。。。。

使用特权

评论回复
5
gdszzyq|  楼主 | 2016-10-21 19:09 | 只看该作者
aozima 发表于 2016-10-21 18:36
调用软件浮点库去模拟,很多周期,可以自己去测算。然后分析你每秒要算多少次。比如计算器,那么渣的CPU都 ...

大概200毫秒算一次,次数倒不多,就是想搞清楚到底这样的浮点运算需要多少机器周期

使用特权

评论回复
6
gdszzyq|  楼主 | 2016-10-21 19:10 | 只看该作者
戈卫东 发表于 2016-10-21 18:45
浮点数运算时间和数值大小没有关系。。。。。

那就是不管数值大小都只进行一次运算?只是内存空间多点而已?

使用特权

评论回复
7
戈卫东| | 2016-10-21 19:15 | 只看该作者
gdszzyq 发表于 2016-10-21 19:10
那就是不管数值大小都只进行一次运算?只是内存空间多点而已?

仿真的浮点运算周期数需求不是固定的值,它会因为参与运算的数值不同而有所变动。。。。

使用特权

评论回复
8
aozima| | 2016-10-21 20:05 | 只看该作者
本帖最后由 aozima 于 2016-10-21 20:06 编辑
gdszzyq 发表于 2016-10-21 19:09
大概200毫秒算一次,次数倒不多,就是想搞清楚到底这样的浮点运算需要多少机器周期 ...

如果你把毫秒改为微秒,那再来考虑这个问题。

使用特权

评论回复
9
Rangar| | 2016-10-21 21:30 | 只看该作者
float  4个字节

使用特权

评论回复
10
xyz549040622| | 2016-10-21 22:08 | 只看该作者
耗费资源是肯定的,如果用的不多的话,根据实际来判断是否在可以接受的范围内。另外根据你的实际算法,是可以对浮点算法进行优化的。

使用特权

评论回复
11
billypeng| | 2016-10-21 23:25 | 只看该作者
加减乘除不怎么耗资源,开方、对数,指数等比较耗资源。如业务需要,大胆用吧,浮点运算不会成为瓶颈。我在4M的8位机上都直接用,没感觉慢。

使用特权

评论回复
12
皈依| | 2016-10-22 09:13 | 只看该作者
要求不是特别高,数据量不大的话完全够用的,如果数据量大的话建议还是用带浮点的片子好一些

使用特权

评论回复
13
yjmwxwx| | 2017-1-22 17:01 | 只看该作者
DDSbuf[i] = (sin(2*3.1415926535*i/n)+1)*(m-2)/2+1.5;

这一行程序看反汇编上百行

使用特权

评论回复
14
天灵灵地灵灵| | 2017-1-23 17:11 | 只看该作者
不好说看CPU了。

使用特权

评论回复
15
Stannis| | 2017-1-29 20:32 | 只看该作者
可以对浮点算法进行优化

使用特权

评论回复
16
Varus| | 2017-1-31 19:59 | 只看该作者
调用软件浮点库去模拟,很多周期,可以自己去测算

使用特权

评论回复
17
lwsn| | 2017-1-31 21:34 | 只看该作者
仿真的浮点运算周期数需求不是固定的值

使用特权

评论回复
18
xiaomi999999| | 2017-2-1 16:15 | 只看该作者
没明白的解释

使用特权

评论回复
19
hudi008| | 2017-2-1 23:08 | 只看该作者
做浮点型运算时float模块的吧

使用特权

评论回复
20
hudi008| | 2017-2-1 23:11 | 只看该作者
float是4字节

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

46

主题

322

帖子

3

粉丝