【技术实现步骤摘要】
本专利技术涉及一种快速首位元的取出和计算位元所在位置序的方法。
技术介绍
首位元查找方法在很多领域中会应用到.例如,在工控行业对于实时性要求很高的处理场合优为重要,可对各类信号(例如CPU处理就是对位元的处理)高低优先级快速及时检出处理,亦可作为故障位元优先筛选处理等。图1是传统的首位元取出方法流程图,需要逐位循环判断,达到的计算执行步骤为128步。图3是传统的计算位元所在位置序的方法流程图,需要逐位循环判断,达到的计算执行步骤为128步。
技术实现思路
本专利技术的目的是为了解决实时控制系统对于快速高效率算法需求,提供一种快速首位元的取出和计算位元所在位置序的方法。一种快速首位元的取出和计算 位元所在位置序的方法,具体包括以下步骤:步骤1、首位元的取出:11、将被查找位元的对象值nDat作减I处理:nDat_l ;12、执行位与处理:nDat& (nDat-Ι);13、执行步骤12的结果与原变量nDat的减处理:unLsb=nDat_(nDat&(nDat-Ι)):14、返回查到位元的结果值unLsb ;步骤2、计算位元所在位置序:11、初始化位元所在位置序值nRet=0,变量nHarf指被比较的对半值nHarf=0xFFFF ;12、被比较的对半值变量右移一半处理,即nHarf =i ;13、执行高低半值位与操作,变量unLsb是步骤I中查到首位元的结果值:unLsb&nHarf;14、判断步骤13计算结果是否为O ;15、若为O则位元值在高半位,nRet+=i ;16、移位对半处理,即将高半位移到低半位,unLsb =i ; ...
【技术保护点】
一种快速首位元的取出和计算位元所在位置序的方法,其特征在于包括以下步骤:步骤1、首位元的取出:11、将被查找位元的对象值nDat作减1处理:nDat?1;12、执行位与处理:nDat&(nDat?1);13、执行步骤12的结果与原变量nDat的减处理:unLsb=nDat?(nDat&(nDat?1)):14、返回查到位元的结果值unLsb;步骤2、计算位元所在位置序:11、初始化位元所在位置序值nRet=0,变量nHarf指被比较的对半值nHarf=OxFFFF;12、被比较的对半值变量右移一半处理,即nHarf>>=i;13、执行高低半值位与操作,变量unLsb是步骤1中查到首位元的结果值:unLsb&nHarf;14、判断步骤13计算结果是否为0;15、若为0则位元值在高半位,nRet+=i;16、移位对半处理,即将高半位移到低半位,unLsb>>=i;17、将步骤12至步骤16循环执行3次;18、返回找到的结果位元所在位置序值nRet=nRet+unLsb。
【技术特征摘要】
1.一种快速首位元的取出和计算位元所在位置序的方法,其特征在于包括以下步骤: 步骤1、首位元的取出: .I1、将被查找位元的对象值nDat作减I处理:nDat_l; . 12、执行位与处理:nDat&(nDat-l); . 13、执行步骤12的结果与原变量nDat的减处理: unLsb=nDat-(nDat&(nDat-Ι)): . 14、返回查到位元的结果值unLsb; 步骤2、计算位元所在位置序:.11、初始化位元所在位置序值nRet=0,变量nHarf指被...
【专利技术属性】
技术研发人员:王天来,陈国军,张国煌,杨玉圣,
申请(专利权)人:泉州市桑川电气设备有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。