私は今、平方根の整数部分と残りを返す平方根を計算するための特定のアルゴリズムを見ています。
たとえば、次のようになります。mysqrt(140) = 11*11 + 19 = integer 11, remainder 19
問題は、平方根を float として計算できるかどうかです。たとえば、140 の平方根は ~ 11.8321 です....?
コメントから編集
左/右シフト、加算、減算などのバイナリ演算のみを使用する固定小数点平方根の VHDL 実装を検討しています。
...アルゴリズムで十分です。
EDIT 2私は実際にこのアルゴリズムをここで読んでいます: http://pioneer.netserv.chula.ac.th/~achatcha/Publications/0012.pdf
ラジカンドを 2n だけ左にシフトすることで、より良い精度が得られるようです。なぜそれが機能しているのかよくわかりませんか?誰か説明してくれませんか