在IQmath中,函数long _IQint( _iq A)和_iq _IQfrac( _iq A)问题

2019-03-23 19:10发布

long _IQint( _iq A)和_iq _IQfrac( _iq A) ,当A为负数时,得到的结果和手册讲得不对,如下的代码,请问是我下面写的程序有问题吗

_iq Y0 = _IQ(2.3456);  
_iq Y1 = _IQ(-2.3456);  
long Y0int, Y1int;  
_iq Y0frac, Y1frac;

Y0int  = _IQint(Y0);   // Y0int = 2  
Y1int  = _IQint(Y1);   // Y1int = -2  
Y0frac = _IQfrac(Y0);   // Y0frac = 0.3456  
Y1frac = _IQfrac(Y1);   // Y1frac = -0.3456

GUI_DispFloatFix (Y0int,9,4);GUI_DispString(" ");//显示为0002.000
GUI_DispFloatFix (Y1int,9,4);GUI_DispString(" ");//显示为-003.000
GUI_DispFloatFix (_IQtoF(Y0frac),9,4);GUI_DispString(" ");//显示为0000.3456
GUI_DispFloatFix (_IQtoF(Y1frac),9,4);GUI_DispString(" ");//显示为0000.6544 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
hytz845
1楼-- · 2019-03-23 22:17
 精彩回答 2  元偷偷看……
zhaojun_xf
2楼-- · 2019-03-23 23:39
需要看你调用函数的说明,这样看不出问题。负数是否有什么特别要求?
Study_Stellaris
3楼-- · 2019-03-24 02:49
可以参考一下 http://e2e.ti.com/support/microc ... f/471/t/176794.aspx
你用的什么 MCU ?
看能否仿真看一下实际的值.
对于负数也许又要特别的处理.
hytz845
4楼-- · 2019-03-24 03:38
 精彩回答 2  元偷偷看……
hytz845
5楼-- · 2019-03-24 08:46
我跑了一下,你给的那ti链接上的例子,也同样遇到他的问题
hytz845
6楼-- · 2019-03-24 13:12
我试的这个例子是手册上讲的,可是我得到的结果和手册上讲的不一样

一周热门 更多>