WALKER168 发表于 2018-7-29 09:13:25

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

在F767 的应用中, 如果在KEIL 中的 float point hardware选择 了use double precision, 但代码有所有浮点数,都是用 float 来定义。那么实际编译运行的时候,是否所有单精度浮点数,都是按双精度来计算的,然后在截短为单精度? 导致代码更大,运行时间更长?


x5y4z3 发表于 2018-7-31 10:10:23

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

zhdzhd-174422 发表于 2018-7-31 20:25:02

本帖最后由 zhdzhd-174422 于 2018-8-1 09:12 编辑

用浮点运算时可能要加入数学库;
另外不建议使用浮点数, 这样效率可能会很低。
建议用整数计算,通过 * 32768这种方法将精度扩大, 达到和浮点数相同的效果。
由于* 32768 是移位运算,这样既保证精度,又保证运算效率
页: [1]
查看完整版本: 在F767 的应用中, 双精度 和 单精度浮点数的问题?