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

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/28 01:15:17
verilog中除法运算 结果为小数,怎么处理?verilog语言,两个reg型数据进行除法运算,不能保证整除,如果结果为小数,应该怎么对该数据进行存储,或者说结果应该用什么类型的数据接收,系统的接收
xNA_޵:]t[}651IcM^][@څe^ =l wMo6gsfSk_?|BN`Uy{{NJ#Lh߀Fo"p:6{Gx]tgbsDCl2i#Tӌ9'tjif =';^iSOGdYMV'qv?z< >9R#} S87 Jiq/OR~WgnNY c}oA ؄arMYc ? ۈOP0|.ή¤L* ;:0*VFD@ o {)0dZ#PcVmhCA;Ӈm% 8Ps1-t9c&DqS$UM}oi:؄x<:9uJ5f21^b<{9-=;UQ|(RuI-`Lj1TB6Zm ä Ξ`G\xB)V顨q A%UOJ,=(d?DZtl8FIi><1~ܖTO>xB"bL¥G#O,j~ U,hNN2au?*pPg6

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

verilog中除法运算 结果为小数,怎么处理?verilog语言,两个reg型数据进行除法运算,不能保证整除,如果结果为小数,应该怎么对该数据进行存储,或者说结果应该用什么类型的数据接收,系统的接收
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.希望能帮助你!