【技术实现步骤摘要】
本专利技术涉及数据分组的快速查找定位方法,尤其涉及运用硬件电路实现的数据分组快速查找定位方法。
技术介绍
目前,随着高速信号处理技术应用的日益广泛,对于数据分组查找定位的速度要求日益提高;普通的逐次比较数据分组查找定位法比较次数多、查找速度慢,尤其当数据的分组组数很大时,普通的逐次比较数据分组查找定位法所耗费的时间将成为限制高速信号处理的主要因素,不利于高速信号处理、分析功能的实现。为解决上述问题,本专利技术提出一种基于硬件电路的数据分组快速查找定位方法, 可以用最少的比较次数快速确定外部输入数据在整个数据范围内属于哪一个分组,并将其所在的分组编号输出。与普通的逐次比较数据分组查找定位法相比,本专利技术可大大减少查找比较次数,提高数据分组查找定位的速度,有利于高速信号处理、分析功能的实现。
技术实现思路
技术问题本专利技术要解决的技术问题是提供一种基于硬件电路的数据分组快速查找定位方法,该方法可以根据用户设定的数据范围和分组组数,用最少的比较次数快速确定外部输入数据在整个数据范围内属于哪一个分组,并将其所在的分组编号输出,大大提高数据分组查找定位的速度。技术方案为解决上述技术问题,本专利技术采用的技术方案是—种数据分组快速查找定位方法,包括以下步骤a)根据外部输入数据是无符号数还是有符号数,转换得到查找使用的输入数据;b)判别用户设定的数据范围与数据分组的组数,并根据外部输入数据是无符号数还是有符号数,转换得到查找使用的数据范围与数据分组的组数;c)由转换得到的查找使用的数据范围与数据分组的组数,计算查找使用的各数据分组之间的分组边界值;d)分组边界值存储到 ...
【技术保护点】
1.一种数据分组快速查找定位方法,其特征在于包括以下步骤:a)根据外部输入数据是无符号数还是有符号数,转换得到查找使用的输入数据;b)判别用户设定的数据范围与数据分组的组数,并根据外部输入数据是无符号数还是有符号数,转换得到查找使用的数据范围与数据分组的组数;c)由转换得到的查找使用的数据范围与数据分组的组数,计算查找使用的各数据分组之间的分组边界值;d)分组边界值存储到存储器中;e)分组查找定位过程由状态机控制,将查找使用的输入数据与存储器中的分组边界值进行比较,并根据本次比较的结果选择下一次比较时所要使用的分组边界值;f)当完成了分组查找定位过程所需的比较次数后,分组查找定位过程结束,最终输出外部输入数据所属的分组编号;所述步骤a)中,外部输入数据的无符号数和有符号数分别为固定长度无符号二进制数,和固定长度有符号二进制数;它们的长度为L比特,L为任意自然数。
【技术特征摘要】
1.一种数据分组快速查找定位方法,其特征在于包括以下步骤a)根据外部输入数据是无符号数还是有符号数,转换得到查找使用的输入数据;b)判别用户设定的数据范围与数据分组的组数,并根据外部输入数据是无符号数还是有符号数,转换得到查找使用的数据范围与数据分组的组数;c)由转换得到的查找使用的数据范围与数据分组的组数,计算查找使用的各数据分组之间的分组边界值;d)分组边界值存储到存储器中;e)分组查找定位过程由状态机控制,将查找使用的输入数据与存储器中的分组边界值进行比较,并根据本次比较的结果选择下一次比较时所要使用的分组边界值;f)当完成了分组查找定位过程所需的比较次数后,分组查找定位过程结束,最终输出外部输入数据所属的分组编号;所述步骤a)中,外部输入数据的无符号数和有符号数分别为固定长度无符号二进制数,和固定长度有符号二进制数;它们的长度为L比特,L为任意自然数。2.如权利要求1所述的数据分组快速查找定位方法,其特征在于所述步骤a)中,查找使用的输入数据转换的方法为如果外部输入数据是无符号数,则所述查找使用的输入数据等于外部输入数据;如果外部输入数据是有符号数,则所述查找使用的输入数据为将外部输入数据的最高位取反,其余位保持不变,并将其视为无符号数;综上,查找使用的输入数据始终为无符号数。3.如权利要求1所述的数据分组快速查找定位方法,其特征在于所述步骤b)中,用户设定的数据范围是指,进行数据分组查找时,由用户设定外部输入数据可能出现的最小值b 至最大值a ;数据分组是指,用户根据需要,将由用户设定的数据范围均勻划分为K个分组,K为任意自然数;用户设定的数据分组的组数即为K。4.如权利要求3所述的数据分组快速查找定位方法,其特征在于所述步骤b)中,查找使用的数据分组的组数的转换方法为如果用户设定的数据分组的组数K = 2N,则查找使用的数据分组的组数M = K ;如果用户设定的数据分组的组数K兴2n,且< K < 2N,则查找使用的数据分组的组数 M = 2N ;所述N为任意自然数。5.如权利要求3所述的数据分组快速查找定位方法,其特征在于所述步骤b)中,查找使用的数据范围分为下列4种情况1)如果用户设定的数据分组的组数K= 2N,其中N为任意自然数,同时外部输入数据为无符号数,则查找使用的数据范围等于用户设定的数据范围,即查找使用的数据范围的最小值Min = b,最大值Max = a ;2)如果用户设定的数据分组的组数K兴2N,且2H< K < 2n,同时外部输入数据为无符号数,则查找使用的数据范围的计算方法为数据范围的最小值Min = b,最大值Max = b+(a_b)*2N/K ;3)如果用户设定的数据分组的组数K= 2n,同时外部输入数据为有符号数,则查找使用的数据范围计算方法为数据范围的最小值Min = d,d为将b的最高位取反,其余位保持不变;数据范围的最大值Max = c, c为将a的最高位取反...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。