如何在 Verilog 中计算浮点被乘数?到目前为止,我通常使用 shift << 1024 ,然后浮点数变为整数。然后我做一些操作,然后 >> 1024 再次得到一个分数。
例如 0.3545 = 2^-2 + 2^-4 + ...
我对另一种方式有疑问,比如这样。我不知道减号(-)从何而来:
0.46194 = 2^-1 - 2^-5 - 2^-7 + 2^-10。
我只是从某人那里看到的。但是按照你的方式,就是这样表示的
0.46194 = 2^-2 + 2^-3 + 2^-4 + 2^-6 + 2^-7 + 2^-10 + .... .
我不明白它是如何知道使用负号的呢?
我们怎么知道什么时候需要减号呢?另外我如何申请verilog RTL?
更新:我理解在操作中使用减号的概念。但是有没有其他方法来方程或方法来减少表达式乘以 2 的幂?
更新:我们如何在verilog中使用这种方法?例如,我倾斜了 0.46194 = 2^-1 - 2^-5 - 2^-7 + 2^-10。然后这段代码在verilog中是这样写的。0.011101101 ='hED ='d237。所以问题的重点是我们如何将它应用到verilog中的应用程序中?
更新:先生,请您检查一下这个吗?结果略有不同。
0.46194 = 0.011101101。我只是这样尝试
0.011101101
0.100T10T01
= 2^-1 - 2^-4 + 2^-5 - 2^-7 + 2^-9。= 0.462890625
有些不同。我错了什么?