[发明专利]一种计算整数的模数除法的余数的方法有效
申请号: | 200810097696.9 | 申请日: | 2008-05-23 |
公开(公告)号: | CN101276268A | 公开(公告)日: | 2008-10-01 |
发明(设计)人: | 黄建;徐晶;丁国荣;许炜;范兵;汪进;陈丽萍;张伟伟 | 申请(专利权)人: | 武汉飞思科技有限公司 |
主分类号: | G06F7/72 | 分类号: | G06F7/72;G06F7/535 |
代理公司: | 北京捷诚信通专利事务所 | 代理人: | 魏殿绅;庞炳良 |
地址: | 430000湖北省武汉市东湖开发区*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 计算 整数 除法 余数 方法 | ||
技术领域
本发明涉及计算模数的方法,具体的说是一种计算整数的模数除法的余数的方法。
背景技术
整数m的模数值n,通常将其记为m mod n。求整数的模数有很大的现实意义,因为在很多情况下都需要求整数的模数,比如在某些负载均衡方法,分组交换和传输,数字消息编/译码,计算机图形学,除法运算中等。
在现有的取模的算法中存在两个方面的问题:
1)传统的算法是通过迭代来实现的,这种迭代的方式使得计算需要很大的计算量。如果除数D=2N-1(N为自然数)为n位整数,被除数M为小于或等于(D-1)2的任何正整数,即M最大时为2n位整数,传统的迭代方法需要6n次条件测试,2n次的乘法(或移位)和2n次加法。因此整个方法需要10n次还不包括赋值操作。由此可见计算量之大,不过被除数和除数可以取任意值。
2)专利99109437.9提出一种计算模数除法的余数的非迭代方法,解决了由于迭代导致的计算量大的问题,该算法不依赖于模数运算除数的位数。但是这个算法有两个前提条件就是除数的值必须等于2N-1(N为自然数),被除数的值应当小于或等于(D-1)2,但是大于或等于0。这就说明这种计算方法不能应用于被除数和除数为任意值得情况。
发明内容
本发明的目的在于克服上述不足之处,提供一种计算整数的模数除法的余数的方法,该方法采用流水线处理方式,便于硬件实现,克服了传统迭代方法的计算量大的不足,而且对于除数和被除数没有特定的限制。
为达到以上目的,本发明采取的技术方案是:
一种计算整数的模数除法的余数的方法,其特征在于:其计算步骤如下:
(1)通过和计算装置连接的输入设备或通过和计算装置连接的存储设备获取被除数M、除数D,判断M和D的大小关系:如果M<D,则余数R=M,结束计算,否则转(2);
(2)将被除数M转换成二进制位M=M0×20+M1×21+…+Mn-1×2n-1,获取各个权值的系数Mi(i=0□n-1)和二进制的位数n;
(3)根据被除数M确定流水线处理第1级输入参数的个数:如果2j<M≤22j,其中j为集合{1,2,4,……,2m}中的一个值,m为自然数,那么流水线处理第1级输入参数的个数N=2j;
(4)根据各个权值的系数Mi的结果查存储在计算装置内的余数表,得到ri(i=0,1…n-1):当Mi=1(i=0~n-1)时获取余数表中除数D所在行和Mi对应的权值2i所在列的值ri,当Mi=0时,ri=0;
(5)确定流水线处理第1级的输入参数:由(3)知流水线处理的第1级有N个输入参数,由(2)知被除数被表示成二进制时的位数n,那么这N个输入参数R1i(i=0…N-1)中的n个参数R1i(i=0…n-1)即为(4)中所得到的ri(i=0,1…n-1)的值,剩下的N-n个输入值均为0,即R1i=0(i=n,…N-1);
(6)确定流水线级数及每级子处理程序的数量:由(3)知第1级流水线处理输入参数的个数N=2j,则N=2q,即j=2q-1,那么流水线处理级数为q,第1级流水线处理有2q-1个子处理流程,以此类推,第k级流水线处理有2q-k+1个输入参数,有2q-k个子处理流程;
(7)确定子处理流程的输入参数:每个子处理流程有两个输入参数,对于第k级流水线处理总共有2q-k+1个输入参数Rki(i=0,1,…,2q-k+1-1),将这2q-k+1个输入参数两两分组,作为2q-k个子处理流程的输入,即第i-1,i(i=2,4,6,…2q-k+1)个参数Rk(i-2),Rk(i-1)作为第i/2个子处理流程的两个输入参数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉飞思科技有限公司,未经武汉飞思科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810097696.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:扫描变换图像滤波
- 下一篇:频谱扩展通信装置和频谱扩展通信方法