2

Newton-Raphson Division Algorithm Wikipediaエントリを実装して、ハードウェア除算ユニットのないプロセッサにIEEE-75432ビット浮動小数点除算を実装しようとしています。

私のメモリ位置は32ビット2の補数ワードであり、浮動小数点の加算、減算、および乗算をすでに実装しているため、コードを再利用してニュートンラプソンアルゴリズムを実装できます。私は最初にこれをすべてMatlabに実装しようとしています。

このステップで:X_0 = 48/17-32/17 * D
アルゴリズムの詳細で説明されているように、Dを0.5から1の間で適切にビットシフトするにはどうすればよいですか?

4

1 に答える 1

1

Compiler-rt ランタイム ライブラリ (LLVM の一部) を見ることができます。これは、リベラル ライセンスを持ち、ハードウェア サポートのないプロセッサ用の浮動小数点演算を実装しています。

libgcc を見ることもできますが、それは GPL であり、問​​題になる場合とそうでない場合があると思います。

実際、それらを見るだけではいけません。それらの 1 つ (または別のソフトフロート ライブラリ) を使用します。車輪を再発明する必要はありません。

于 2012-02-10T16:03:57.197 に答える