TI中文支持网
TI专业的中文技术问题搜集分享网站

Q格式问题

各位大神好,我在编译controlSUITE中的例程时,遇到一个Q格式的问题,我看到程序中的注释:

0.0000305是在Q15下定义的。

但程序确是这样定义的: _IQ(0.0000305)。

在IQmath中有:

#define   _IQ(A)  _IQ24(A)

#define   _IQ24(A)      (long) ((A) * 16777216.0L)

这是什么意思呢?非常感谢!!!

Martin Yu:

在IQmath中有:

#define   _IQ(A)  _IQ24(A)

#define   _IQ24(A)      (long) ((A) * 16777216.0L)

这是什么意思呢?非常感谢!!!

– 说明该程序中的IQ格式是IQ24的,即IQ(0.0000305)的实际值是0.0000305*16777216的。

各位大神好,我在编译controlSUITE中的例程时,遇到一个Q格式的问题,我看到程序中的注释:

0.0000305是在Q15下定义的。

但程序确是这样定义的: _IQ(0.0000305)。

在IQmath中有:

#define   _IQ(A)  _IQ24(A)

#define   _IQ24(A)      (long) ((A) * 16777216.0L)

这是什么意思呢?非常感谢!!!

xu zhang11:

回复 Martin Yu:

谢谢您的回复,程序中的数值是Q15格式的啊!而且选择0.0000305这么个小数的目的应该是将其转化为Q15格式之后使得0.0000305*2的15次方=0.9995约等于1,这是什么问题呢?

各位大神好,我在编译controlSUITE中的例程时,遇到一个Q格式的问题,我看到程序中的注释:

0.0000305是在Q15下定义的。

但程序确是这样定义的: _IQ(0.0000305)。

在IQmath中有:

#define   _IQ(A)  _IQ24(A)

#define   _IQ24(A)      (long) ((A) * 16777216.0L)

这是什么意思呢?非常感谢!!!

bad:

回复 xu zhang11:

提高精度吧

各位大神好,我在编译controlSUITE中的例程时,遇到一个Q格式的问题,我看到程序中的注释:

0.0000305是在Q15下定义的。

但程序确是这样定义的: _IQ(0.0000305)。

在IQmath中有:

#define   _IQ(A)  _IQ24(A)

#define   _IQ24(A)      (long) ((A) * 16777216.0L)

这是什么意思呢?非常感谢!!!

囧:

也就是以后如果用IQ(A)就代表IQ24(A),意思是指IQ24是一个GLOBE IQ数

各位大神好,我在编译controlSUITE中的例程时,遇到一个Q格式的问题,我看到程序中的注释:

0.0000305是在Q15下定义的。

但程序确是这样定义的: _IQ(0.0000305)。

在IQmath中有:

#define   _IQ(A)  _IQ24(A)

#define   _IQ24(A)      (long) ((A) * 16777216.0L)

这是什么意思呢?非常感谢!!!

kyle lo:

回复 囧:

是 GLOBAL_Q 嗎?

各位大神好,我在编译controlSUITE中的例程时,遇到一个Q格式的问题,我看到程序中的注释:

0.0000305是在Q15下定义的。

但程序确是这样定义的: _IQ(0.0000305)。

在IQmath中有:

#define   _IQ(A)  _IQ24(A)

#define   _IQ24(A)      (long) ((A) * 16777216.0L)

这是什么意思呢?非常感谢!!!

囧:

回复 kyle lo:

是的,其实就是一个默认Q格式的数据

赞(0)
未经允许不得转载:TI中文支持网 » Q格式问题
分享到: 更多 (0)