C语言,报告的数据类型错误

C语言,报告的数据类型错误,c,types,C,Types,我正在为TI C2000 Piccolo微控制器编写一系列C文件。下面是我的电池充电状态算法的一个例子。 构建时,Code Composer Studio报告最后一行的第三行在“#31表达式必须具有整数类型”上有错误(第二个“放电容量”) 嗯,受我的经验所限,我不能做出更多的贡献。你能提供一些帮助吗?谢谢 }您正在执行位异或运算,而不是指数运算 discharge_capacity = (p5 - p1*x^4 - p2*x^3 + p3*x^2 - p4*x); 我认为上面这一行应该是:

我正在为TI C2000 Piccolo微控制器编写一系列C文件。下面是我的电池充电状态算法的一个例子。 构建时,Code Composer Studio报告最后一行的第三行在“#31表达式必须具有整数类型”上有错误(第二个“放电容量”) 嗯,受我的经验所限,我不能做出更多的贡献。你能提供一些帮助吗?谢谢



}您正在执行位异或运算,而不是指数运算

discharge_capacity = (p5 - p1*x^4 - p2*x^3 + p3*x^2 - p4*x);
我认为上面这一行应该是:

discharge_capacity = (p5 - p1*(x*x*x*x) - p2*(x*x*x) + p3*x*x - p4*x);
这可以更简洁地写为:

discharge_capacity = p5 - (((p1 * x - p2) * x + p3) * x - p4) * x;

非常感谢。我用MATLAB写了这个程序,没有意识到用C写数学表达式有点复杂。问题解决了!
discharge_capacity = p5 - (((p1 * x - p2) * x + p3) * x - p4) * x;