68hc11を使用してアセンブリの正弦値を計算するためにテイラー級数を実装する方法。
68hc11は浮動小数点をサポートしていないため、表示値は整数になります(たとえば、100を掛けて整数値を作成します)。
68hc11を使用してアセンブリの正弦値を計算するためにテイラー級数を実装する方法。
68hc11は浮動小数点をサポートしていないため、表示値は整数になります(たとえば、100を掛けて整数値を作成します)。
インクリメンタルな計算を行うアルゴリズムを使用することもできます。次のスニペットは、階乗関数と累乗関数を使用しないため、修正点アセンブリに簡単に変換できます。通常は、ルックアップ テーブルを使用する方が簡単です。sin(x)を計算する68HC11のアセンブリコード
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;
}
テイラー級数はおそらく最良の選択肢ではありません。CORDICを見てください。