[发明专利]一种超长位数减法的处理方法和计算机可读存储介质在审
申请号: | 202010618103.X | 申请日: | 2020-06-30 |
公开(公告)号: | CN111831253A | 公开(公告)日: | 2020-10-27 |
发明(设计)人: | 戚建淮;郑伟范;汪乔;刘建辉;韩丹丹;唐娟 | 申请(专利权)人: | 深圳市永达电子信息股份有限公司 |
主分类号: | G06F7/50 | 分类号: | G06F7/50 |
代理公司: | 深圳市顺天达专利商标代理有限公司 44217 | 代理人: | 高占元 |
地址: | 518057 广东省深圳市南山区西丽街*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 超长 位数 减法 处理 方法 计算机 可读 存储 介质 | ||
本发明涉及一种超长位数减法的处理方法,包括:S1、基于编码模式和计算进制基数对超长位数进行编码,以生成分层级的超长位数编码;S2、根据参与超长位数减法的超长位数的符号和所述超长位数生成的所述超长位数编码进行减法运算。本发明还涉及计算机可读存储介质。实施本发明的超长位数减法的处理方法和计算机可读存储介质,通过将一个超长位数N进行编码符号提取,然后通过计算编码层级和每个层级对应的层级基数,从而提供一种超过目前计算机能处理位数的超长位数的编码方法,并且进一步的提供了基于超长位数编码的减法计算方法,能够实现超快的超大数值的减法运算,从而适应大数据分析、处理、计算等大算力计算任务需要。
技术领域
本发明涉及信息编码与计算领域,更具体地说,涉及一种超长位数减法的处理方法和计算机可读存储介质。
背景技术
大数运算,顾名思义,就是很大的数值的数进行一系列的运算。我们知道,在数学中,数值的大小是没有上限的,但是在计算机中,由于字长的限制,计算机所能表示的范围是有限的,当我们对比较小的数进行运算时,这样的数值并没有超出计算机的表示范围,所以可以运算。但是当我们在实际的应用中进行大量的数据处理时,由于编程语言提供的基本数值数据类型表示的数值范围有限,不能满足较大规模的高精度数值计算,因此需要利用其他方法实现高精度数值的计算,于是产生了大数运算。
大数运算目前在信息安全、数字图像、大数据挖掘等领域应用比较广泛。目前,常用的大数算法有:模拟手算算法、快速傅里叶变换算法以及中国余数定理等,这些算法普遍存在效率低下问题。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种超长位数减法的处理方法和计算机可读存储介质,能够实现超快的超大数值的减法运算,从而适应大数据分析、处理、计算等大算力计算任务需要。
本发明解决其技术问题所采用的技术方案是:构造一种超长位数减法的处理方法,包括:
S1、基于编码模式和计算进制基数对超长位数进行编码,以生成分层级的超长位数编码;
S2、根据参与超长位数减法的超长位数的符号和所述超长位数生成的所述超长位数编码进行减法运算。
在本发明所述的超长位数减法的处理方法中,所述步骤S1进一步包括:
S11、采用多项式将十进制超长位数X=XtXt-1……X1表示成X=X1*(10)0+X2*(10)1+……+Xt*(10)t-1,t属于自然数,X的符号为X.bSign;
S12、遍历字符串XtXt-1…X1,对所述字符串中的每个字符进行二进制编码以获得编码字符串和第一层级基数;
S13、从所述编码字符串的首个非零字符开始遍历所述编码字符串,对所述编码字符串中的每个字符进行二进制编码以获得新生成的编码字符串和下一层级基数;对每次遍历获得的新生成的编码字符串进行二进制编码直至最后生成的字符串为空,且基于层数和每一层级基数生成所述分层级的超长位数编码。
在本发明所述的超长位数减法的处理方法中,所述步骤S12进一步包括:
S121、基于以下公式遍历字符串X=XtXt-1…X1,对所述字符串中的每个字符进行二进制编码以获得编码字符串和第一层级基数:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市永达电子信息股份有限公司,未经深圳市永达电子信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010618103.X/2.html,转载请声明来源钻瓜专利网。