CN107632815A - 一种整数间的计算方法、装置及计算机存储介质 - Google Patents

一种整数间的计算方法、装置及计算机存储介质 Download PDF

Info

Publication number
CN107632815A
CN107632815A CN201710866135.XA CN201710866135A CN107632815A CN 107632815 A CN107632815 A CN 107632815A CN 201710866135 A CN201710866135 A CN 201710866135A CN 107632815 A CN107632815 A CN 107632815A
Authority
CN
China
Prior art keywords
integer
section
result
section set
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201710866135.XA
Other languages
English (en)
Inventor
李华念
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201710866135.XA priority Critical patent/CN107632815A/zh
Publication of CN107632815A publication Critical patent/CN107632815A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Machine Translation (AREA)

Abstract

本发明公开了一种整数间的计算方法、装置及计算机存储介质,该方法的步骤包括:获取第一整数以及第二整数;其中第一整数以及第二整数均为十六进制形式;将第一整数以及第二整数分别分割为相同数量的整数段以得到第一整数段集合与第二整数段集合,并记录各整数段间的顺序;其中各整数段的位数均相同;根据第一整数与第二整数的符号特性,分别对第一整数段集合与第二整数段集合之间各相同数位的目标整数段进行相应运算以得到结果段集合;依照整数段的顺序将结果段集合中的结果段进行组合以得到计算结果。可见本方法扩大了计算机语言能够计算的整数的范围,并且避免了数据溢出的情况,保证了结果数据的安全性、准确性以及可用性。

Description

一种整数间的计算方法、装置及计算机存储介质
技术领域
本发明涉及计算机计算领域,特别是涉及一种整数间的计算方法、装置及计算机存储介质。
背景技术
对于整数的计算,是计算机系统工作的实质内容,也是实现所有功能的最基础操作。
在32位的操作系统上,通用寄存器的数据空间为4字节,因此通过单个寄存器所能表示的最大整数为0xFFFFFFFF(2的32次方减1);在64位的操作系统上,通用寄存器的数据空间为8字节,因此通过单个寄存器所能表示的最大整数为0xFFFFFFFFFFFFFFFF(2的64次方减1)。而C语言等计算机语言能够支持的最大整数也仅为8个字节,因此在32位操作系统中,当进行计算或计算所得的整数超过4字节大小或是在64位操作系统中,当进行计算或计算所得的整数超过8字节大小时,计算机语言往往无法正确处理,进而会导致数据溢出的情况发生,无法保证结果数据的安全性、准确性以及可用性。
由此可见,提供一种整数间的计算方法,以保证计算结果的安全性、准确性以及可用性,是本领域技术人员亟待解决的问题。
发明内容
本发明的目的是提供一种整数间的计算方法、装置及计算机存储介质,以保证计算结果的安全性、准确性以及可用性。
为解决上述技术问题,本发明提供一种整数间的计算方法,包括:
获取第一整数以及第二整数;其中第一整数以及第二整数均为十六进制形式;
将第一整数以及第二整数分别分割为相同数量的整数段以得到第一整数段集合与第二整数段集合,并记录各整数段间的顺序;其中各整数段的位数均相同;
根据第一整数与第二整数的符号特性,分别对第一整数段集合与第二整数段集合之间各相同数位的目标整数段进行相应运算以得到结果段集合;
依照整数段的顺序将结果段集合中的结果段进行组合以得到计算结果。
优选的,整数段的位数为8。
优选的,第一整数与第二整数的符号特性具体为第一整数与第二整数异号;
相应的,相应运算具体为以第一整数与第二整数的补码方式进行运算。
优选的,在将第一整数以及第二整数分别分割为相同数量的整数段以得到第一整数段集合与第二整数段集合,并记录各整数段间的顺序后,该方法进一步包括:
通过结构体的形式分别记录第一整数段集合与第二整数段集合以及第一整数与第二整数的相关参数。
优选的,在通过结构体的形式分别记录第一整数段集合与第二整数段集合后,该方法进一步包括:
以小端存储的方式将结构体写入内存。
优选的,该方法进一步包括:
将计算结果记录至日志。
此外,本发明还提供一种整数间的计算装置,包括:
整数获取模块,用于获取第一整数以及第二整数;
整数分割模块,用于将第一整数以及第二整数分别分割为相同数量的整数段以得到第一整数段集合与第二整数段集合,并记录各整数段间的顺序;
运算模块,用于根据第一整数与第二整数的符号特性,分别对第一整数段集合与第二整数段集合之间各相同数位的目标整数段进行相应运算以得到结果段集合;
结果生成模块,用于依照整数段的顺序将结果段集合中的结果段进行组合以得到计算结果。
优选的,该装置进一步包括:
记录模块,用于将计算结果记录至日志。
此外,本发明还提供一种整数间的计算装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的整数间的计算方法的步骤。
此外,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的整数间的计算方法的步骤。
本发明所提供的整数间的计算方法,将两个待计算的整数均分割为整数段的形式,进而在对整数之间各相对应的整数段分别进行计算后对结果进行组合以得到整体的计算结果。因此,当进行计算两个的整数的数值过大而造成计算机语言无法正确计算时,通过本方法能够将整数拆分为计算机语言能够处理的多个整数段以分别进行计算,进而再各个处理的结果组合为最终结果。可见本方法扩大了计算机语言能够计算的整数的范围,并且避免了在进行较大整数计算时出现数据溢出的情况,保证了结果数据的安全性、准确性以及可用性。此外,本发明还提供一种整数间的计算装置及介质,有益效果如上所述。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种整数间的计算方法流程图;
图2为本发明实施例提供的一种整数间的计算装置结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
本发明的核心是提供一种整数间的计算方法,保证了计算结果的安全性、准确性以及可用性。本发明的另一核心是提供一种整数间的计算装置及计算机存储介质。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
实施例一
图1为本发明实施例提供的一种整数间的计算方法流程图。请参考图1,整数间的计算方法的具体步骤包括:
步骤S10:获取第一整数以及第二整数。
其中第一整数以及第二整数均为十六进制形式。
需要说明的是,在本步骤中,第一整数与第二整数是待进行计算的两个整数。在本质上,计算机能够处理的数据均为二进制类型,因此不论第一整数与第二整数是任意进制的形式,在进行计算时都会转化为二进制进行计算,在本步骤中第一整数以及第二整数均为十六进制的意义在于,十六进制数字相比于十进制数在每一位能够表示的数值更大,因此通过十六进制的形式表示整数时位数更少,便于用户查看。并且相比于其它进制的形式,十六进制较为常用,因此用户在对数值的理解上的难度相对较低。
步骤S11:将第一整数以及第二整数分别分割为相同数量的整数段以得到第一整数段集合与第二整数段集合,并记录各整数段间的顺序。
其中各整数段的位数均相同。
可以理解的是,对第一整数及第二整数分别进行分割,是以“分而治之”的思想,将整数分成多个整数段分别进行计算,进而当处理寄存器以计算机怨言无法正常计算的整数时,可以分割成多个寄存器及计算机语言能够正常处理的整数段,进而确保了计算的正常进行以及计算结果的正确性。需要说明的是,由于整数间计算的实质是两个整数的相同数位对应进行计算,因此为了在计算时不会出现错位的情况,需要保证各整数段的位数均相同。需要说明的是,各个整数段的位数可以根据操作系统的位数以及寄存器能够处理的位数进行相应的设定,在此不做具体限定。
步骤S12:根据第一整数与第二整数的符号特性,分别对第一整数段集合与第二整数段集合之间各相同数位的目标整数段进行相应运算以得到结果段集合。
需要说明的是,第一整数与第二整数的符号特性包括同号或异号的情况,针对于不同的符号情况需要选取相应的运算方式。此外,当进行运算时,可能会出现当前位的数值已满而需进位的情况,应在运算的过程中考虑到进位情况,当第一整数与第二整数进行运算过程中最高位出现进位时,需要为进位的数据开辟新的整数段以进行相应的记录,以确保计算结果的准确。另一方面,用户可以通过标志参数的形式表征第一整数与第二整数的符号,也可以在第一整数段集合以及第二整数段集合中分别通过独立的一个整数段以表征整数的符号,在此不做具体限定。
步骤S13:依照整数段的顺序将结果段集合中的结果段进行组合以得到计算结果。
可以理解的是,将第一整数段集合以及第二整数段集合中相对应的整数段进行对应数位的计算获得的结果段集合仅是多个对应零散整数段计算结果的集合,还需要将结果段集合中各个结果段以一定的顺序进行组合,组合顺序应与之前所切割整数段的顺序一致,进而确保最终结果的数位排列无误。
本发明所提供的整数间的计算方法,将两个待计算的整数均分割为整数段的形式,进而在对整数之间各相对应的整数段分别进行计算后对结果进行组合以得到整体的计算结果。因此,当进行计算两个的整数的数值过大而造成计算机语言无法正确计算时,通过本方法能够将整数拆分为计算机语言能够处理的多个整数段以分别进行计算,进而再各个处理的结果组合为最终结果。可见本方法扩大了计算机语言能够计算的整数的范围,并且避免了在进行较大整数计算时出现数据溢出的情况,保证了结果数据的安全性、准确性以及可用性。
实施例二
在上述实施例的基础上,作为一种优选的实施方式,整数段的位数为8。
需要说明的是,由于当前的操作系统主要为32位以及64位,由于64位操作系统的通用寄存器是32位操作系统通用寄存器数据空间的两倍(32位操作系统通用寄存器的数据空间为4字节,64位操作系统通用寄存器的数据空间为8字节)因此64位操作系统往往能够兼容32位操作系统的操作,但反之则不兼容,32位操作系统能够表示8位的十六进制数,因此将整数段的位数设定为8能够最大程度的兼容当下的各类操作系统。
在上述实施例的基础上,作为一种优选的实施方式,第一整数与第二整数的符号特性具体为第一整数与第二整数异号;
相应的,相应运算具体为以第一整数与第二整数的补码方式进行运算。
需要说明的是,当第一整数与第二整数之间的符号相异时进行运算或出现需要借位的情况,但是对于计算机进行二进制计算来说,借位操作很难实现,但由于二进制的进位特性,负数以补码的形式表示便能与正数的二进制数采用相加的方式进行运算,相对减少了计算机运算的难度。
在上述实施例的基础上,作为一种优选的实施方式,在将第一整数以及第二整数分别分割为相同数量的整数段以得到第一整数段集合与第二整数段集合,并记录各整数段间的顺序后,该方法进一步包括:
通过结构体的形式分别记录第一整数段集合与第二整数段集合以及第一整数与第二整数的相关参数。
需要说明的是,通过结构体的形式分别记录第一整数段集合与第二整数段集合以及第一整数与第二整数的相关参数,能够使第一整数与第二整数更加系统的被记录,并且以结构体的形式存储相关数据能够更加便于数据系统的被传输以及使用。需要说明的是,相关参数可以包括,表征整数符号的参数,以及由整数分割成的整数段的数量的参数等,此外,在结构体中可以设置数据集合专门用于存放整数段,具体的使用方式不唯一,在此不做具体限定。
在上述实施例的基础上,作为一种优选的实施方式,在通过结构体的形式分别记录第一整数段集合与第二整数段集合后,该方法进一步包括:
以小端存储的方式将结构体写入内存。
需要说明的是,小端存储是将最低地址存放最低字节,一个用十六进制表示的32位数据:12345678H,存放在存储字长是32位的存储单元中,按低字节到高字节的存储顺序为0x78、0x56、0x34和0x12。整个存储字从低字节到高字节读出的结果就是:78563412H,由于多数操作系统所采用的是小端存储的方式对应的读取方式,因此采取小段存储的方式能够适应操作系统的读取习惯,相对提高了兼容性,以及执行效率。
在上述实施例的基础上,作为一种优选的实施方式,该方法进一步包括:
将计算结果记录至日志。
可以理解的是,将计算结果记录至日志后,用户可以在日志中获取到计算结果,并且当计算结果出现错误时能够作为错误的分析依据,有利于本方法的后期优化和改进。
实施例三
在上文中对于数间的计算方法的实施例进行了详细的描述,本发明还提供一种与该方法对应的整数间的计算装置,由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
图2为本发明实施例提供的一种整数间的计算装置结构图。本发明实施例提供的整数间的计算装置,具体包括:
整数获取模块10,用于获取第一整数以及第二整数。
整数分割模块11,用于将第一整数以及第二整数分别分割为相同数量的整数段以得到第一整数段集合与第二整数段集合,并记录各整数段间的顺序。
运算模块12,用于根据第一整数与第二整数的符号特性,分别对第一整数段集合与第二整数段集合之间各相同数位的目标整数段进行相应运算以得到结果段集合。
结果生成模块13,用于依照整数段的顺序将结果段集合中的结果段进行组合以得到计算结果。
本发明所提供的整数间的计算装置,将两个待计算的整数均分割为整数段的形式,进而在对整数之间各相对应的整数段分别进行计算后对结果进行组合以得到整体的计算结果。因此,当进行计算两个的整数的数值过大而造成计算机语言无法正确计算时,通过本方法能够将整数拆分为计算机语言能够处理的多个整数段以分别进行计算,进而再各个处理的结果组合为最终结果。可见本装置扩大了计算机语言能够计算的整数的范围,并且避免了在进行较大整数计算时出现数据溢出的情况,保证了结果数据的安全性、准确性以及可用性。
在实施例三的基础上,该装置还包括:
记录模块,用于将计算结果记录至日志。
实施例四
本发明还提供一种整数间的计算装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的整数间的计算方法的步骤。
本发明所提供的整数间的计算装置,将两个待计算的整数均分割为整数段的形式,进而在对整数之间各相对应的整数段分别进行计算后对结果进行组合以得到整体的计算结果。因此,当进行计算两个的整数的数值过大而造成计算机语言无法正确计算时,通过本方法能够将整数拆分为计算机语言能够处理的多个整数段以分别进行计算,进而再各个处理的结果组合为最终结果。可见本装置扩大了计算机语言能够计算的整数的范围,并且避免了在进行较大整数计算时出现数据溢出的情况,保证了结果数据的安全性、准确性以及可用性。
本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述的整数间的计算方法的步骤。
本发明所提供的整数间的计算的可读存储介质,将两个待计算的整数均分割为整数段的形式,进而在对整数之间各相对应的整数段分别进行计算后对结果进行组合以得到整体的计算结果。因此,当进行计算两个的整数的数值过大而造成计算机语言无法正确计算时,通过本方法能够将整数拆分为计算机语言能够处理的多个整数段以分别进行计算,进而再各个处理的结果组合为最终结果。可见本可读存储介质扩大了计算机语言能够计算的整数的范围,并且避免了在进行较大整数计算时出现数据溢出的情况,保证了结果数据的安全性、准确性以及可用性。
以上对本发明所提供的一种整数间的计算方法、装置及计算机存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种整数间的计算方法,其特征在于,包括:
获取第一整数以及第二整数;其中所述第一整数以及所述第二整数均为十六进制形式;
将所述第一整数以及所述第二整数分别分割为相同数量的整数段以得到第一整数段集合与第二整数段集合,并记录各所述整数段间的顺序;其中各所述整数段的位数均相同;
根据所述第一整数与所述第二整数的符号特性,分别对所述第一整数段集合与所述第二整数段集合之间各相同数位的目标整数段进行相应运算以得到结果段集合;
依照所述整数段的顺序将所述结果段集合中的结果段进行组合以得到计算结果。
2.根据权利要求1所述的方法,其特征在于,所述整数段的位数为8。
3.根据权利要求1所述的方法,其特征在于,所述第一整数与所述第二整数的符号特性具体为所述第一整数与所述第二整数异号;
相应的,所述相应运算具体为以所述第一整数与所述第二整数的补码方式进行运算。
4.根据权利要求1所述的方法,其特征在于,在所述将所述第一整数以及所述第二整数分别分割为相同数量的整数段以得到第一整数段集合与第二整数段集合,并记录各所述整数段间的顺序后,该方法进一步包括:
通过结构体的形式分别记录所述第一整数段集合与所述第二整数段集合以及所述第一整数与所述第二整数的相关参数。
5.根据权利要求4所述的方法,其特征在于,在所述通过结构体的形式分别记录所述第一整数段集合与所述第二整数段集合后,该方法进一步包括:
以小端存储的方式将所述结构体写入内存。
6.根据权利要求1-5任意一项所述的方法,其特征在于,该方法进一步包括:
将所述计算结果记录至日志。
7.一种整数间的计算装置,其特征在于,包括:
整数获取模块,用于获取第一整数以及第二整数;
整数分割模块,用于将所述第一整数以及所述第二整数分别分割为相同数量的整数段以得到第一整数段集合与第二整数段集合,并记录各所述整数段间的顺序;
运算模块,用于根据所述第一整数与所述第二整数的符号特性,分别对所述第一整数段集合与所述第二整数段集合之间各相同数位的目标整数段进行相应运算以得到结果段集合;
结果生成模块,用于依照所述整数段的顺序将所述结果段集合中的结果段进行组合以得到计算结果。
8.根据权利要求7所述的装置,其特征在于,该装置进一步包括:
记录模块,用于将所述计算结果记录至日志。
9.一种整数间的计算装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6任一项所述的整数间的计算方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述的整数间的计算方法的步骤。
CN201710866135.XA 2017-09-22 2017-09-22 一种整数间的计算方法、装置及计算机存储介质 Pending CN107632815A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710866135.XA CN107632815A (zh) 2017-09-22 2017-09-22 一种整数间的计算方法、装置及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710866135.XA CN107632815A (zh) 2017-09-22 2017-09-22 一种整数间的计算方法、装置及计算机存储介质

Publications (1)

Publication Number Publication Date
CN107632815A true CN107632815A (zh) 2018-01-26

Family

ID=61103492

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710866135.XA Pending CN107632815A (zh) 2017-09-22 2017-09-22 一种整数间的计算方法、装置及计算机存储介质

Country Status (1)

Country Link
CN (1) CN107632815A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109871197A (zh) * 2018-12-29 2019-06-11 航天信息股份有限公司 数据存储装置及数据确定装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109871197A (zh) * 2018-12-29 2019-06-11 航天信息股份有限公司 数据存储装置及数据确定装置
CN109871197B (zh) * 2018-12-29 2022-03-04 航天信息股份有限公司 数据存储装置及数据确定装置

Similar Documents

Publication Publication Date Title
CN109325009A (zh) 日志解析的方法及装置
CN106549673A (zh) 一种数据压缩方法及装置
CN108090567A (zh) 电力通信系统故障诊断方法及装置
CN109034244A (zh) 基于电量曲线特征模型的线损异常诊断方法及装置
CN101685383A (zh) 计算器、基于直接对阶的自由精度浮点数的运算电路
CN103365965B (zh) 一种数据的汇总处理方法和装置
CN109408113A (zh) 一种代码文本处理方法、系统及终端设备
CN107463683A (zh) 代码元素的命名方法及终端设备
CN112885481A (zh) 病例分组方法、装置、电子设备及存储介质
CN107784596A (zh) 保单的险种状态信息统计方法、终端设备及存储介质
CN109684272A (zh) 文档保存方法、系统及终端设备
CN110516034A (zh) 日志管理方法、装置、网络设备和可读存储介质
WO2021104216A1 (zh) 一种用于设备模型趋势相似度的评估方法及装置
CN104679720A (zh) 一种实现fft的运算方法
CN111371776A (zh) Http请求数据的异常检测方法、装置、服务器及存储介质
CN104679719A (zh) 一种基于fpga的浮点运算方法
CN107977504A (zh) 一种非对称堆芯燃料管理计算方法、装置及终端设备
CN107632815A (zh) 一种整数间的计算方法、装置及计算机存储介质
CN108133005A (zh) 一种基于内存数据库的环境模型模拟方法、终端设备及存储介质
CN111242779B (zh) 金融数据特征选择和预测方法、装置、设备及存储介质
WO2023246391A1 (zh) 风险特征描述的提取
CN108255950A (zh) 数据存储方法及终端设备
Hult et al. On importance sampling with mixtures for random walks with heavy tails
CN112347250A (zh) 重名作者文献聚类方法及装置
CN108830663B (zh) 电力客户价值评价方法、系统及终端设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20180126

RJ01 Rejection of invention patent application after publication