有什么方法把二进制精度LSB为0.5的转换成精度1.5
时间:10-02
整理:3721RD
点击:
提问如题: 比如我二进制输出带一位小数位,那么它精度是1/2就是0.5
那么我怎么把精度为0.5的转换成精度是1.5的。
转换前10进制 转换后10进制输出
0-------------------0
0.5------------------1.5
1------------------1.5
1.5 ------------------1.5
2-------------------3
2.5------------------3
3------------------3
verilog实现,希望不要一个一个比较,那种比较器实现十分麻烦。最好是有逻辑转换公式。
那么我怎么把精度为0.5的转换成精度是1.5的。
转换前10进制 转换后10进制输出
0-------------------0
0.5------------------1.5
1------------------1.5
1.5 ------------------1.5
2-------------------3
2.5------------------3
3------------------3
verilog实现,希望不要一个一个比较,那种比较器实现十分麻烦。最好是有逻辑转换公式。
这个不好做,不是二的整数倍。你可以试试画下卡诺图,很难化简的。
如果这个2进制数在产生的时候就在最低2bit上使用3进制:00,01,10,00,01,10.......就好处理了。
另外一个不好的方法就是用除法了:除以3,然后正向取整。
做一个状态机解决了,减去3的倍数最接近数 然后做一个小循环即可。
使用查找表
