固定小数点15.16の乗算と除算のアルゴリズムを探しています。15.16の数値の固定小数点乗算/除算
私はすでに加減算しています。それらは簡単でした - シンプルな32ビットの加算と減算。乗算と除算では、三角関数と指数関数/ログ関数を追加することもできます。私の図書館は相反する機能を持っており、それを使って部門を実装することができます:a * (1/b) = a/b
。しかし、基数を無視するので、32ビットの乗算は機能しません。
私は16ビットのマイクロコントローラで作業していますので、32ビットの乗算を避けたいと思います。これはプロセッサで約4サイクルかかります。しかし、私は浮動小数点数学を置き換えようとしています。
私は結果をシフトまたは回転する必要があると聞いたことがありますが、これがどのように役立つか、具体的にシフトする方法がわかりません。任意の提案や助けに感謝!
それは確かです。私の説明はアルゴリズムであり、実装ではありません。 –
マイクロチップは、PIC24およびdsPIC用の固定小数点数学ライブラリも提供しています。 http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en552208を参照してください。 –