我想用修改后的分数乘以整数,如下所示
我已经做了什么来找到分数转换为 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);