ハードウェアが係数または除算演算をサポートしていない場合、ソフトウェアによる係数/除算をシミュレートするには、さらに多くのCPUサイクルが必要です。オペランドが10の場合、除算と係数を計算するより速い方法はありますか?
私のプロジェクトでは、整数モジュラス10を頻繁に計算する必要があります。特に、PIC16Fで作業していて、LCDに数値を表示する必要があります。サポートする4桁があるため、係数と除算関数(ソフトウェア実装)への4つの呼び出しがあります。つまり、次のようになります。
digit = number % 10; // call to an expensive function
number /= 10; // call to an expensive function
somehow_lit_segments();
digit = number % 10; // call to an expensive function
number /= 10; // call to an expensive function
somehow_lit_segments();
digit = number % 10; // call to an expensive function
number /= 10; // call to an expensive function
somehow_lit_segments();
digit = number % 10; // call to an expensive function
number /= 10; // call to an expensive function
somehow_lit_segments();
同様のコードを使用する他の領域があります。