我正在嵌入式处理器上运行计算,其中涉及这样的浮点运算:
a = (float)23 / (float)3; // a = 7.666....7
这是一个很长的计算,我的应用程序没有问题,但有一定的舍入误差;我的意思是 7.67 或 7.66 并不重要。有没有办法减少计算 float 或告诉 math.h
为 2 位数字所花费的计算时间?
知道怎么做吗?
附言: 现在我知道很多人会建议使用固定点,但我有具体要求。
最佳答案
精度由数据类型决定,常见类型如 float 和 double 有固定的精度,不能改变,但有像 libfixmath 这样的库。让您可以快速执行非整数数学运算(在本例中使用 int32_t
)
关于仅将 float 计算为 2 位数字(不将小数点后 6 位数字格式化/四舍五入为 2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17962117/