前导0预测算法(Leading-Zero Anticipator,LZA)的理解

本文是对下面文章的算法理解梳理,具体参看链接:前导0预测(Leading-Zero Anticipator,LZA)-CSDN博客

1. 基础算法

n 、z 、p 代表负(negative,-1)、零(zero,0)、正(positive,+1),{1,0,-1}数字字符集

1.1 A>B 的情况

,表示k个0,p表示一个+1,x表示不确定是{1,0,-1}中的哪一个。

1. 此种情况下,即使x为负时,向前借位会在k+2位的p处结束、k+1必定仍然为p,因此前导共有k个0,例如A为01100,B为00010时,R为011(-1)0;

2.此种情况下,若x为负时,需要向前借位、k+2位的z变为p、k+1位的p变为z、此时前导共有k+1个0,例如A为01000、B为00010时、R为010(-1)0;若x为正,不需要借位、此时第一个p在k+1位置、前导共有k个0例如A为01010、B为00010时、R为010(0)0。

这种情况下,通过检测R的码型无法确定第一个P的位置,因此结果带有不确定性,因此先假设第一个p在K+1位置(即不需要借位的情况),之后根据A-B的真实结果再纠错。

3.此种情况下,若仅将前面k+j+1位进行借位化简(后面的位不考虑),则得到,此时R序列变为z(k+j) p (p or z) (x)的情况(即上述情况1和情况2),那么序列中首个p出现在k+j+1或者k+j+2的位置,原因与情况2想同; 

在A > B时总结出的情况如下表所示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值