verilog中除法运算 结果为小数,怎么处理?

verilog语言,两个reg型数据进行除法运算,不能保证整除,如果结果为小数,应该怎么对该数据进行存储,或者说结果应该用什么类型的数据接收,系统的接收规则是什么?回复请... verilog语言,两个reg型数据进行除法运算,不能保证整除,如果结果为小数,应该怎么对该数据进行存储,或者说结果应该用什么类型的数据接收,系统的接收规则是什么?

回复请尽量详细,满意回复有丰厚加分。
展开
 我来答
kyo4749
2014-09-22 · TA获得超过433个赞
知道小有建树答主
回答量:294
采纳率:100%
帮助的人:188万
展开全部
reg是没有小数的,不过可以引入小数概念,在除之前吧被除数*2^n,让结果等于整数(或者近似),再在后面的运算中吧结果的低n位截取掉(相当于除了2^n)。例如,要做1/3 x 5的话可以先*256(这个数越高的话结果更精确一些,按照需求选),结果就变成256/3=85 然后85*5=425=1_1010_1001b 最后在去掉低8位,结果变成了1,也可以进行四舍五入,就是先去掉低7位变成11(相当于1.5)然后在+1(相当于0.5)结果变成了100,在去掉小数点的那一位,变成了10也就是2,四舍五入的原理就是用带一位小数的数加上0.5然后在取整数部分,1.4+0.5=1.9结果还是1,1.5+05=2结果就是2.希望能帮助你!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式