System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 高精度浮点数存储方法、装置、设备以及存储介质制造方法及图纸_技高网

高精度浮点数存储方法、装置、设备以及存储介质制造方法及图纸

技术编号:41264118 阅读:3 留言:0更新日期:2024-05-11 09:21
本公开提供了一种高精度浮点数存储方法、装置、电子设备以及存储介质,所述方法包括:在预设精度范围内随机生成第一浮点数;获取所述第一浮点数中指数部分的指数位、尾数部分的尾数位、符号位和小数点位置;并根据所述第一浮点数的第一进制信息确定第一进制存储位;根据所述小数点位置确定小数点索引位,并将所述第一浮点数的指数位、尾数位、第一符号位、小数点索引位以及第一进制存储位顺序存储在第一字符数组;将所述第一字符数组存储为目标业务的第一密钥。本公开实施例通过字符数组存储浮点数,提升了浮点数的存储精度,适用于对浮点数的精度要求较高的领域,如科学计算、金融、加密学和密码学等。

【技术实现步骤摘要】

本公开涉及高精度浮点数领域,具体而言,涉及一种高精度浮点数存储方法、装置、设备以及存储介质


技术介绍

1、在当前蓬勃发展的大数据时代,科学计算、金融领域以及加密学和密码学场景中对高精度大型数据的加密与处理需求不断攀升。在密码生成与加密算法的应用背景下大规模浮点数的存储与计算显得愈发关键,尤其在保护隐私和高效处理浮点数数据方面,数据加密和数据解密的需求显得尤为紧迫,高精度浮点数的存储和计算为确保大规模数据的安全处理提供了不可或缺的支持。

2、然而,由于计算机内部所有数字都以二进制形式存储,而二进制并不能完全精确地表示所有数据,计算机在处理浮点数时并不能做到绝对精准,这也意味着使用基本数据类型进行浮点数运算时可能产生一些误差。此外,计算机位数的限制也使得基本数据类型所能表示的数字范围有所限制,可能无法完整的存储高精度的大型数据。


技术实现思路

1、本公开实施例至少提供一种高精度浮点数存储方法、装置、电子设备以及存储介质,可以利用字符数组存储浮点数,提升了浮点数的存储精度,适用于对浮点数的精度要求较高的领域,如科学计算、金融、加密学和密码学等。

2、本公开实施例提供了一种高精度浮点数存储方法,包括:

3、在预设精度范围内随机生成第一浮点数;

4、获取所述第一浮点数中指数部分的指数位、尾数部分的尾数位、符号位和小数点位置;并根据所述第一浮点数的第一进制信息确定第一进制存储位;

5、根据所述小数点位置确定小数点索引位,并将所述第一浮点数的指数位、尾数位、第一符号位、小数点索引位以及第一进制存储位顺序存储在第一字符数组;

6、将所述第一字符数组存储为目标业务的第一密钥。

7、在一种可能的实施方式中,所述将所述第一字符数组存储为目标业务的第一密钥之后,所述方法还包括:

8、响应于对所述目标业务对应的加密业务数据的解密指令,确定所述解密指令指示的解密所述加密业务数据所需的两个密钥以及对所述两个密钥的运算方法,在所述两个密钥为所述第一密钥和第二密钥的情况下,分别获取所述第一密钥对应的第一进制信息和第二密钥对应的第二进制信息;所述运算方法包括加法运算、减法运算、除法运算以及乘法运算;

9、若所述第一进制信息和所述第二进制信息不同,则将所述第二密钥还原为对应的第二浮点数,基于所述第一进制信息对所述第二浮点数进行进制转换,并计算转换后的第二浮点数对应的第二字符数组存储为新的第二密钥;

10、判断所述第一密钥的第一密钥长度是否等于所述新的第二密钥的第二密钥长度;在所述第一密钥长度与所述新的第二密钥长度不相等的情况下,将第一密钥长度和第二密钥长度中的最大值确定为目标密钥长度,将密钥长度小于目标密钥长度的密钥扩充至使所述目标密钥长度,以得到相同长度的第一密钥和新的第二密钥;

11、基于所述运算方法,对所述第一密钥和所述新的第二密钥进行计算,并利用计算结果对所述加密业务数据进行解密。

12、在一种可能的实施方式中,在所述运算方法是除法运算的情况下,所述基于所述运算方法,对所述第一密钥和所述新的第二密钥进行计算,包括:

13、计算转换后的第二浮点数的倒数,并计算所述倒数对应的第二字符数组作为新的第二密钥;

14、相应地,所述基于所述运算方法,对所述第一密钥和所述新的第二密钥进行计算,包括:

15、根据乘法运算方法对所述第一密钥和所述新的第二密钥进行按位计算。

16、在一种可能的实施方式中,所述计算转换后的第二浮点数的倒数,包括:

17、根据乘法逆元的运算规则对所述第二浮点数运用牛顿迭代公式进行计算,并判断所述计算结果是否满足精度要求;

18、在所述计算结果满足精度要求的情况下,所述计算结果为所述第二浮点数的倒数。

19、在一种可能的实施方式中,所述根据乘法运算方法对所述第一密钥和所述新的第二密钥进行按位计算,包括:

20、判断所述第一密钥中的第一符号信息和所述新的第二密钥中的第二符号信息是否一致;

21、在所述第一符号信息和所述第二符号信息一致的情况下,根据所述运算方法对所述第一密钥和所述新的第二密钥进行按位计算;所述计算结果的目标符号信息为正号;

22、在所述第一符号信息和所述第二符号信息不一致的情况下,根据所述运算方法对所述第一密钥和所述新的第二密钥进行按位计算;所述计算结果的目标符号信息为负号。

23、在一种可能的实施方式中,在所述运算方法是减法运算的情况下,所述基于所述运算方法,对所述第一密钥和所述新的第二密钥进行计算,包括:

24、确定所述第一密钥中的第一符号信息和所述新的第二密钥中的第二符号信息;

25、在所述第一符号信息和所述第二符号信息均为负号的情况下,所述新的第二密钥作为被减数,与所述第一密钥进行按位相减计算;

26、在所述第一符号信息和所述第二符号信息均为正号的情况下,所述第一密钥作为被减数,与所述新的第二密钥进行按位相减计算;

27、在所述第一符号信息和所述第二符号信息不一致的情况下,将所述第一密钥和所述新的第二密钥进行按位相加计算,所述计算结果的目标符号信息与所述第一符号信息相同。

28、在一种可能的实施方式中,在所述运算方法是加法运算的情况下,所述基于所述运算方法,对所述第一密钥和所述新的第二密钥进行计算,包括:

29、确定所述第一密钥中的第一符号信息和所述新的第二密钥中的第二符号信息;

30、在所述第一符号信息和所述第二符号信息一致的情况下,将所述第一密钥和所述新的第二密钥进行按位相加计算;所述计算结果的目标符号信息与所述第一符号信息和/或所述第二符号信息相同;

31、在所述第一符号信息为负号、所述第二符号信息为正号的情况下,将所述新的第二密钥作为被减数,与所述第一密钥进行按位减法计算;

32、在所述第一符号信息为正号、所述第二符号信息为负号的情况下,将所述第一密钥作为被减数,与所述新的第二密钥进行按位减法计算。

33、本公开实施例提供了一种高精度浮点数存储装置,包括:

34、数据获取模块,用于在预设精度范围内随机生成第一浮点数;

35、数位确定模块,用于获取所述第一浮点数中指数部分的指数位、尾数部分的尾数位、符号位和小数点位置;并根据所述第一浮点数的第一进制信息确定第一进制存储位;

36、数组存储模块,用于根据所述小数点位置确定小数点索引位,并将所述第一浮点数的指数位、尾数位、第一符号位、和小数点索引位以及第一进制存储位顺序存储在第一字符数组;

37、密钥存储模块,用于将所述第一字符数组存储为目标业务的第一密钥。

38、在一种可能的实施方式中,所述密钥存储模块还用于:

39、响应于对所述目标业务对应的加密业务数据的解密指令,确定所述解密指令指示的解密所本文档来自技高网...

【技术保护点】

1.一种高精度浮点数存储方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述将所述第一字符数组存储为目标业务的第一密钥之后,所述方法还包括:

3.根据权利要求2所述方法,其特征在于,在所述运算方法是除法运算的情况下,所述基于所述运算方法,对所述第一密钥和所述新的第二密钥进行计算,包括:

4.根据权利要求3所述方法,其特征在于,所述计算转换后的第二浮点数的倒数,包括:

5.根据权利要求3所述的方法,其特征在于,所述根据乘法运算方法对所述第一密钥和所述新的第二密钥进行按位计算,包括:

6.根据权利要求2所述的方法,其特征在于,在所述运算方法是减法运算的情况下,所述基于所述运算方法,对所述第一密钥和所述新的第二密钥进行计算,包括:

7.根据权利要求2所述的方法,其特征在于,在所述运算方法是加法运算的情况下,所述基于所述运算方法,对所述第一密钥和所述新的第二密钥进行计算,包括:

8.一种高精度浮点数存储装置,其特征在于,包括:

9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1-7任一所述的高精度浮点数存储方法。

10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1-7任一所述的高精度浮点数存储方法的步骤。

...

【技术特征摘要】

1.一种高精度浮点数存储方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述将所述第一字符数组存储为目标业务的第一密钥之后,所述方法还包括:

3.根据权利要求2所述方法,其特征在于,在所述运算方法是除法运算的情况下,所述基于所述运算方法,对所述第一密钥和所述新的第二密钥进行计算,包括:

4.根据权利要求3所述方法,其特征在于,所述计算转换后的第二浮点数的倒数,包括:

5.根据权利要求3所述的方法,其特征在于,所述根据乘法运算方法对所述第一密钥和所述新的第二密钥进行按位计算,包括:

6.根据权利要求2所述的方法,其特征在于,在所述运算方法是减法运算的情况下,所述基于所述运算方法,对所述第一密钥和所述新的第...

【专利技术属性】
技术研发人员:唐嘉宸潘明田野何世伟
申请(专利权)人:成都安易迅科技有限公司
类型:发明
国别省市:

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

1