[发明专利]一种编译器前端乘幂运算的方法在审
| 申请号: | 201410541113.2 | 申请日: | 2014-10-14 |
| 公开(公告)号: | CN105573713A | 公开(公告)日: | 2016-05-11 |
| 发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 镇江鼎拓科技信息有限公司 |
| 主分类号: | G06F7/552 | 分类号: | G06F7/552 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 212009 江苏省镇江市镇*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 编译器 前端 乘幂 运算 方法 | ||
1.一种编译器前端乘幂运算的方法其主要特征是结合了Window算法和静态加法链算法,既能处理任意大小的幂值,又能得到比Window算法更短的加法链。
2.根据权利要求1其window算法则是事先要给定一个K值,它定义了每次移动的“窗口”的大小。
3.加法链按照下面这两条规则建立:
加倍规则:6i=6i-l+6i-l=26i-l
星链规则:6i=6i-l+c,cEP
P是所有小于2K的奇数集合。
4.根据权利要求2中要求的二进制算法
假设I=(et,et-l,…,el,e0)2,可以对I从左到右考虑,也可以从右到左考虑,算法描述分别如下:
算法l:从左到右的二进制算法
p<-l;
fori=tdownto0do
{
p=p*p
ifei==lp=p*x
}。
5.根据权利要求3中要求的另类算法:从右到左的二进制算法
p<-l;U<-I;z<-x
while(l)do
{
if((Ul)==l)//如果U最右边一位为l
p*=z
if((U>>=l)>0)//U右移一位
z*=z
elsebreak;//结束
}。
6.从左到右的二进制算法
a-2<-0;j<-(-l)
fori=tdownto0do
{
a=2*a-l
ifei==l
{
++;
a=a-l+l;
}
}。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于镇江鼎拓科技信息有限公司,未经镇江鼎拓科技信息有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410541113.2/1.html,转载请声明来源钻瓜专利网。





