你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

在F767 的应用中, 双精度 和 单精度浮点数的问题?

[复制链接]
walker2012 提问时间:2018-7-29 09:13 /
在F767 的应用中, 如果在KEIL 中的 float point hardware  选择 了use double precision, 但代码有所有浮点数,都是用 float 来定义。那么实际编译运行的时候,是否所有单精度浮点数,都是按双精度来计算的,然后在截短为单精度? 导致代码更大,运行时间更长?


收藏 评论2 发布时间:2018-7-29 09:13

举报

2个回答
x5y4z3 回答时间:2018-7-31 10:10:23
貌似编译气设定的配置内有选择,是需要运行速度优化还是代码空间最佳化。
估计无论是选择了哪样,所编译出来的也不会是只取双精度中的单精度这样的做法。
要验证应该也不难,写一个最小浮点运算去编译不就知道了?!

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

zhdzhd 回答时间:2018-7-31 20:25:02
本帖最后由 zhdzhd-174422 于 2018-8-1 09:12 编辑

用浮点运算时可能要加入数学库;
另外不建议使用浮点数, 这样效率可能会很低。  
建议用整数计算,通过 * 32768这种方法将精度扩大, 达到和浮点数相同的效果。  
由于* 32768 是移位运算,这样既保证精度,又保证运算效率

评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版