次のように、修正された分数で整数に乗算したいと思います
分数をCSD形式に変換する方法を見つけるために何をしましたか。しかし、整数に乗算する方法を知りたいです。
たとえば、これを手に入れました
0.46194 = 2^-1 - 2^-5 - 2^-7 + 2^-10.
次に、Verilog rtl 式として次のように取得できます。
y= (x>>1) - (x>>5) - (x>>7) + (x>>10);
しかし、問題は、入力値が 3 の場合、上記のコードをどのように計算できるかということです。
y= (3>>1) - (3>>5) - (3>>7) + (3>>10);
しかし、私が知っているように、計算は不可能です。3>>1 は 1、(3>>5) は 0、(3>>7) は 0、(3>>10) は 0 なので、
そのため、通常の結果を得ることができません。また、変更された分数式を見つける理由もなくなりました。次に、この投稿の質問ポイントは、「変更された分数を整数に適用するにはどうすればよいですか」です。
更新:これは次のようになります。y= ((3<<1024)>>1) - ((3<<1024)>>5) - ((3<<1024)>>7) + ((3<<1024)>>10);