如何使用68hc11实现Taylor系列计算装配中的正弦值。
由于68hc11不支持浮点,因此显示值将为整数..(例如,乘以100得到整数值)。
答案 0 :(得分:1)
您可以使用计算增量计算的算法,以下代码段应该很容易转换为固定点程序集,因为它不使用阶乘和幂函数。通常使用查找表更容易做到这一点。 Assembly code for 68HC11 to calculate sin(x)
double taylorSin(double x,double epsilon) {
double result = 0.0;
double part_n = 0.0,part=x;
result = part;
int i = 1;
while ( fabs( part - part_n ) > epsilon ) {
part_n = part;
part = (-part*x*x) / ((2*i)*(2*i+1));
result += part;
i++;
}
return result;
}
答案 1 :(得分:0)
泰勒系列可能不是你最好的选择。看看CORDIC。