尊敬的团队:
在使用以下代码测试项目时,我的客户发现,当为参数 lBalanceBRFXn 提供浮点数据时,程序的运行结果是正确的。
当为参数 lbalancebrfxn 提供定点数据时,程序运行后的输出结果为0。
下面是代码:
#define lB0 16560587 #define lB1 -33075803 #define lB2 16560587 #define lA1 -33075803 #define lA2 16343958 long long lBalanceBRFXn; long long lBalanceBRFYn; long long lBalanceBRFXn_1; long long lBalanceBRFXn_2; long long lBalanceBRFYn_1; long long lBalanceBRFYn_2; lBalanceBRFYn = (lBalanceBRFXn * lB0)>>24 + (lBalanceBRFXn_1 * lB1)>>24 + (lBalanceBRFXn_2 * lB2)>>24 - (lBalanceBRFYn_1 *lA1)>>24 - (lBalanceBRFYn_2 * lA2)>>24; // lBalanceBRFYn_2 = lBalanceBRFYn_1; lBalanceBRFYn_1 = lBalanceBRFYn; lBalanceBRFXn_2 = lBalanceBRFXn_1; lBalanceBRFXn_1 = lBalanceBRFXn;
此致