我今天看原子哥的UCOS开发手册说
如果使能了 FPU 单元的话就可以使用它来对单精度浮点数进行计算,双精度浮
点数的计算仍然要使用到C 运行库。
那也就是FPU只能运算float类型
后边又说浮点寄存器可以两个32位组成一个双精度的寄存器
然后我今天看了一下我的代码 double类型还是用了V指令
确实是调用了C库里的函数 比如__aeabi_dmul, __aeabi_ddiv, __aeabi_dadd
然后就明白了
FPU确实只能计算单精度浮点数!
曾经天真的以为双精度也可以
刚改了改代码!
如果计算float*3.0
一定要写成float*3.0f
要不然还是会调用库函数
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
求教各位一个问题:
人们往往把对浮点计算能力作为考量机子性能的重要标准,可是在很多应用以及底层驱动中并未涉及到太多浮点数。
之前我发过这样一个帖子:
STM32下的元胞自动机(二维宇宙模拟)
如此复杂的“动画”甚至可在低端的单片机上实现 。
(不涉及浮点数)
如果只把机子当作计算工具,以浮点计算能力考量其性能自然是合理的。
而事实上各种机子相当的情况下并非单纯的计算工具,比如作为信息采集工具,逻辑分析工具等。
我的问题是:
以什么标准去考量不以浮点计算为目的的机子性能更合理些。
我先说一个可能的参考指标:主频/晶振频率
各位畅所欲言~
一周热门 更多>