lwq030736 发表于 2013-3-12 14:53 
FPGA做的除法本来就是给余数和商的,没小数的
你要根据你的精度要求把被除数放大2的n次方倍,自己给自己 ...
我理解的您的意思是: 10/3,结果是3.3333. 但是FPGA 只会给出两个数 商是3 余数是1. 如果我 把10 乘以2的10次方,也就是被除数右移10位,再除以3,那么会得到的商是3413,余数是1. 商3413 转换成2进制后 再左移10位,得到的数,转换成小数,与3.3333 更加接近!
我有两个疑问: 余数是否直接丢掉了,只拿商与后面的数做运算?
整个思路,就是通过扩大缩小,让除数和被除数都转化成整数,进行运算,最后再通过移位移回到真实的数值?
DSP builder 里面除法模块数据类型有 Signed Fractional 这种数据类型,整数位和小数位分别表示。 如果我采用这种类型,得到商和余数,又该如何处理呢?
|