[发明专利]变位除法-计算机求商乘法化无效
申请号: | 200710301967.3 | 申请日: | 2007-12-24 |
公开(公告)号: | CN101295238A | 公开(公告)日: | 2008-10-29 |
发明(设计)人: | 许礼阳 | 申请(专利权)人: | 许礼阳;许礼刚 |
主分类号: | G06F7/535 | 分类号: | G06F7/535 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 212000江苏省镇*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 变位 除法 计算机 乘法 | ||
技术领域
计算机除法运算新算法。通过新算法,尽可能用高效的阵列乘法器替代低效的阵列除法器。
背景技术
阵列除法器运算速度明显慢于阵列乘法器,随着计算机精度提高,两者运算速度的差距越 发加大,为了提高计算机的除法运算速度,减缓因计算机精度提高而引起的阵列除法器运算 速度快速下降,通过对除法运算的乘法化,用高效的阵列乘法器替代阵列除法器,借此取得 更好的效果.变位除法就是为实现这一目标而作的努力.
传统的一位除法非常适合二进制数的除法运算,因为二进制数的部分商非0即1,试商过 程只有一次,但对大进位制数的除法运算,若用一位除法计算,试商过程非常麻烦,几乎没 有实用价值,如在十进制数的除法运算中,每算一位部分商,最多要试算9次才能确定.
变位除法用已算好的部分倒数与当前余数的乘积计算后续倒数,给出确定值,省略了试算 过程。为未来计算机可能出现的大进位制数的除法运算提供了可能.
发明内容
一.变位除法的基本原理及步骤
变位除法是一种建立在求倒数基础上的求商方法,最大程度的使用乘法运算替代除法运算, 通过变位除法对倒数的乘法化运算,再用除数的倒数与被除数的乘积来算商.
有了某一除数的倒数,求该除数与任一被除数的商,可以用乘法计算:
若s=a/b k=1/b
则s=k*a
变位除法是用已算好的部分倒数值与当前余数的乘积计算后续倒数.计算过程中,分别按 1、1、1、1、2、4、8、16、…的算位,不断升级变位,每个计算周期所算的位数愈来愈多, 因而大大减少了运算周期.
变位除法的计算步骤:
第一步用阵列除法器计算4位部分商及其余数.
第二步升级为二位除法:取已算好的4位部分商与余数相乘,乘积左边2位数字即为 后续倒数值.用后续倒数与除数相乘,其积(后文称此积为“若干倍除数”)作为减数,进2位 后的余数作为被减数,其差即为新的余数.
第三步升级为四位除法:取已算好的6位部分商与余数相乘,乘积左边4位数字即为 后续倒数值.用后续倒数与除数相乘,其积作为减数,进4位后的余数作为被减数,其差即 为新的余数.
按上述升级方法,不断升级,直到满足需要.
为便于了解变位除法过程,先用“笔一纸”方式介绍如下:
[例]求(1/1101)2(用浮点数表示,倒数数符=除数数符,倒数价码=-3,尾数部分 1000/1101):
我们可以把上式顶部不同位数的部分商1001、100111、1001110110、100111011000100111 …视为除数1101不同精度的已算倒数值,把11、0110、00100111、100111011000100111、… 视为后续倒数值.可见变位除法的过程,是把各余数的近似商按照一定规律组合链接起来 的过程.
使用变位除法求商必须妥善解决如下四个问题:
1.后续倒数取值前的舍位
后续倒数取值前,必须舍弃最左边1位.那是因为在计算机中,两个n位的数相乘,乘积 是2n位的数,而在求倒数的运算过程中,由于余数总是小于除数,故倒数与余数的乘积总是 2n-1位的数,形成左边1位空位,故必须舍弃见表1.1:
表1.1
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于许礼阳;许礼刚,未经许礼阳;许礼刚许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710301967.3/2.html,转载请声明来源钻瓜专利网。