一种基于浮点数的查表方法、装置、电子设备及存储介质制造方法及图纸

技术编号:38270954 阅读:30 留言:0更新日期:2023-07-27 10:25
本申请公开了一种基于浮点数的查表方法、装置、电子设备及存储介质。方法包括:获取查表计算信息,查表计算信息包括:用于查表的除数,被除数以及除数所对应的取值区间;获取预先创建的目标查找表,并确定目标查找表在取值区间内的查表值;利用查表值进行插值计算,得到插值结果,并基于插值结果计算除数的倒数;基于倒数与被除数计算得到的计算结果进行查表。本申请把除数由无限的范围限定至有限的取值区间内,通过确定查找表在取值区间内的查表值,将查表值进行插值拟合,再通过修正调整输出除数的倒数值,使用被除数乘以除数的倒数的方法得到任意范围内的计算结果,且不损失计算精度,实现了高效地计算除法运算的高精度结果。实现了高效地计算除法运算的高精度结果。实现了高效地计算除法运算的高精度结果。

【技术实现步骤摘要】
一种基于浮点数的查表方法、装置、电子设备及存储介质


[0001]本申请涉及查表运算领域,尤其涉及一种基于浮点数的查表方法、装置、电子设备及存储介质。

技术介绍

[0002]常规的查表法计算除法运算时,采用的步骤为:先造一张浮点数对应的倒数查找表,再通过查找除数在查找表中的数据,对查找到的数据进行插值等运算求得除数的倒数,最后通过被除数乘以除数的倒数得到除法运算的结果。由于除法运算在分子动力学模拟中的数据范围是全范围的,因此使用这种常规的查表法,需要造的表的规模是非常大的,这样既占用非常大的存储空间,又难以保证数据的精度。综上,采用常规方式造除法运算表来实现除法运算是一个效率低的问题。

技术实现思路

[0003]为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种基于浮点数的查表方法、装置、电子设备及存储介质。
[0004]根据本申请实施例的一个方面,提供了一种基于浮点数的查表方法,包括:
[0005]获取查表计算信息,其中,所述查表计算信息包括:用于查表的除数,被除数以及所述除数所对应的取值区间,所述除数以及所述被除数用浮点数的二进制流表示;
[0006]获取预先创建的目标查找表,并确定所述目标查找表在所述取值区间内的查表值;
[0007]利用所述查表值进行插值计算,得到插值结果,并基于所述插值结果计算所述除数的倒数;
[0008]基于所述倒数与所述被除数计算得到计算结果。
[0009]进一步的,所述获取查表计算信息,包括:
[0010]获取用于计算除数的预设配置信息,其中,所述预设配置信息包括:符号位、阶码位以及尾数位;
[0011]利用所述符号位、所述阶码位以及所述尾数位计算所述除数,并计算所述除数对应的取值区间;
[0012]获取预先设置的被除数,并基于所述被除数,所述除数以及所述除数对应的取值区间生成查表计算信息。
[0013]进一步的,所述计算所述除数对应的取值区间,包括:
[0014]获取所述取值范围对应的调整参数;
[0015]按照所述调整参数调整所述符号位以及所述阶码位,得到调整后的符号位以及调整后的阶码位;
[0016]基于所述调整后的符号位以及调整后的阶码位计算所述除数对应的取值区间。
[0017]进一步的,所述确定所述查找表在所述取值范围内的查表值,包括:
[0018]计算所述查找表在所述取值范围内浮点数所对应的倒数值和每个步长所在区域内两个倒数值的差值;
[0019]将所述倒数值以及两个倒数值的差值确定为所述取值范围内的查表值。
[0020]进一步的,所述计算所述查找表在所述取值范围内浮点数所对应的倒数值和每个步长所在区域内两个倒数值的差值,包括:
[0021]获取所述除数的尾数位与所述查找表的表长度相乘得到的乘积,利用所述乘积确定所述浮点数所对应的倒数值;
[0022]获取所述乘积与所述查找表的步长的和值,并利用所述浮点数所对应的倒数值与所述和值的倒数值计算所述差值。
[0023]进一步的,所述利用所述查表值进行插值计算,得到插值结果,并基于所述插值结果计算所述除数的倒数,包括:
[0024]利用所述查表值进行插值计算,得到插值结果;
[0025]对所述插值结果进行修正,得到修正后的差值结果;
[0026]基于修正后的差值结果计算所述除数的倒数。
[0027]进一步的,所述基于所述倒数与所述被除数计算得到计算结果,包括:
[0028]计算所述倒数与所述被除数的乘积;
[0029]将所述乘积作为所述计算结果,并利用所述乘积进行查表。
[0030]根据本申请实施例的另一个方面,还提供了一种基于浮点数的查表装置,包括:
[0031]获取模块,用于获取查表计算信息,其中,所述查表计算信息包括:用于查表的除数,被除数以及所述除数所对应的取值区间,所述除数以及所述被除数用浮点数的二进制流表示;
[0032]处理模块,用于获取预先创建的目标查找表,并确定所述目标查找表在所述取值区间内的查表值;
[0033]计算模块,用于利用所述查表值进行插值计算,得到插值结果,并基于所述插值结果计算所述除数的倒数;
[0034]执行模块,用于基于所述倒数与所述被除数计算得到计算结果。
[0035]根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的步骤。
[0036]根据本申请实施例的另一方面,还提供了一种电子装置,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;其中:存储器,用于存放计算机程序;处理器,用于通过运行存储器上所存放的程序来执行上述方法中的步骤。
[0037]本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法中的步骤。
[0038]本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例把除数由无限的范围限定至有限的取值区间内,通过确定查找表在取值区间内的查表值,将查表值进行插值拟合,再通过修正调整输出除数的倒数值,使用被除数乘以除数的倒数的方法得到任意范围内的计算结果,且不损失计算精度,实现了高效地计算除法运算的高精度结果。
附图说明
[0039]此处的附图被并入说明书中并构成本说明书的一部分,显示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0040]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0041]图1为本申请实施例提供的一种基于浮点数的查表方法的流程图;
[0042]图2为本申请实施例提供的一种插值计算的示意图;
[0043]图3为本申请实施例提供的一种基于浮点数的查表装置的框图;
[0044]图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
[0045]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0046]需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个类似的实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于浮点数的查表方法,其特征在于,包括:获取查表计算信息,其中,所述查表计算信息包括:用于查表的除数,被除数以及所述除数所对应的取值区间,所述除数以及所述被除数用浮点数的二进制流表示;获取预先创建的目标查找表,并确定所述目标查找表在所述取值区间内的查表值;利用所述查表值进行插值计算,得到插值结果,并基于所述插值结果计算所述除数的倒数;基于所述倒数与所述被除数计算得到计算结果。2.根据权利要求1所述的方法,其特征在于,所述获取查表计算信息,包括:获取用于计算除数的预设配置信息,其中,所述预设配置信息包括:符号位、阶码位以及尾数位;利用所述符号位、所述阶码位以及所述尾数位计算所述除数,并计算所述除数对应的取值区间;获取预先设置的被除数,并基于所述被除数,所述除数以及所述除数对应的取值区间生成查表计算信息。3.根据权利要求2所述的方法,其特征在于,所述计算所述除数对应的取值区间,包括:获取所述取值范围对应的调整参数;按照所述调整参数调整所述符号位以及所述阶码位,得到调整后的符号位以及调整后的阶码位;基于所述调整后的符号位以及调整后的阶码位计算所述除数对应的取值区间。4.根据权利要求2所述的方法,其特征在于,所述确定所述查找表在所述取值范围内的查表值,包括:计算所述查找表在所述取值范围内浮点数所对应的倒数值和每个步长所在区域内两个倒数值的差值;将所述倒数值以及两个倒数值的差值确定为所述取值范围内的查表值。5.根据权利要求4所述的方法,其特征在于,所述计算所述查找表在所述取值范围内浮点数所对应的倒数值和每个步长所在区域内两个倒数值的差值,包括:获取所述除数的尾数位与所述查找表的表长度相乘得到的乘积,利...

【专利技术属性】
技术研发人员:于莉莉郭璟郭振江唐璇
申请(专利权)人:上海思朗科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1