多くの場合、ロボットで物事を行うためにマイクロコントローラーを使用しますが、いくつかの計算を10進数で行う必要があります。ソフトウェアの浮動小数点ライブラリが自動的に含まれるため(ハイエンドのマイクロコントローラーがない場合)、浮動小数点変数の使用は非常に遅くなります。したがって、通常は固定小数点演算を使用します。
これを行うときは常に、整数を使用し、小数点以下の桁数を覚えています。ただし、特に小数点が別の場所にある変数が計算に含まれる場合は、すべてが一貫していることを確認するために注意が必要です。
私は固定小数点atan2関数を実装しましたが、限られた精度(16ビット)の最後のすべてのドロップを絞り込もうとしていたため、小数点の位置の定義を頻繁に変更し、微調整すると変更されます。さらに、疑似ルックアップテーブルとしていくつかの定数があり、それらは暗黙の小数点をどこかに持っています。
もっと良い方法があるかどうか知りたい。固定小数点変数の使用を簡略化し、混合変数間の乗算と除算を容易にし、10進数または定数式の宣言を許可しながら、コンパイル時に目的の固定小数点表現に自動的に変換できるライブラリまたはマクロセットはありますか時間?