#define F32 float
F32 GetRatio(F32 f1, F32 f2)
{
{
return (f1 / f2);
}
当f1 = 1, f2 = 0.001时,返回值为999.9999。
希望返回值为1000,对于这种情况,请问有没有好的建议?
非常感谢!
Susan Yang:
能否详细说明下您的问题?您现在使用的软硬件情况是怎样的?
Victor Lee:
回复 Susan Yang:
目前用的软件是CCS,硬件是MSP430F5xxx。
在debug时,调用下面的函数
F32 GetRatio(F32 f1, F32 f2)
{return (f1 / f2);
}当f1 = 1, f2 = 0.001时,返回值为999.9999。
正常返回值应该是1000的,1 / 0.001 = 1000。
谢谢您的回复!
Susan Yang:
回复 Victor Lee:
对于MSP430的浮点除法,我们有一个专门的文档 Efficient Multiplication and Division Using MSP430, 包含了相应的浮点除法测试代码。
您可以点击下面的链接来获取
www.ti.com/…/slaa329a.pdf
灰小子:
回复 Victor Lee:
如果不是必须使用浮点数,建议把参数都变大1000倍,然后做运算。