【技术实现步骤摘要】
一种超长位数乘法的处理方法和计算机可读存储介质
本专利技术涉及信息编码与计算领域,更具体地说,涉及一种超长位数乘法的处理方法和计算机可读存储介质。
技术介绍
大数运算,顾名思义,就是很大的数值的数进行一系列的运算。我们知道,在数学中,数值的大小是没有上限的,但是在计算机中,由于字长的限制,计算机所能表示的范围是有限的,当我们对比较小的数进行运算时,这样的数值并没有超出计算机的表示范围,所以可以运算。但是当我们在实际的应用中进行大量的数据处理时,由于编程语言提供的基本数值数据类型表示的数值范围有限,不能满足较大规模的高精度数值计算,因此需要利用其他方法实现高精度数值的计算,于是产生了大数运算。大数运算目前在信息安全、数字图像、大数据挖掘等领域应用比较广泛。目前,常用的大数算法有:模拟手算算法、快速傅里叶变换算法以及中国余数定理等,这些算法普遍存在效率低下问题。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述缺陷,提供一种超长位数乘法的处理方法和计算机可读存储介质,能够实现超快的超大数值的乘法运算,从而适应大数据分析、处理、计算等大算力计算任务需要。本专利技术解决其技术问题所采用的技术方案是:构造一种超长位数乘法的处理方法,包括:S1、基于编码模式和计算进制基数对超长位数进行编码,以生成分层级的超长位数编码;S2、根据参与超长位数乘法的超长位数的符号和根据所述超长位数生成的所述超长位数编码进行乘法运算。在本专利技术所述的超长位数乘法的处理方法中 ...
【技术保护点】
1.一种超长位数乘法的处理方法,其特征在于,包括:/nS1、基于编码模式和计算进制基数对超长位数进行编码,以生成分层级的超长位数编码;/nS2、根据参与超长位数乘法的超长位数的符号和根据所述超长位数生成的所述超长位数编码进行乘法运算。/n
【技术特征摘要】
1.一种超长位数乘法的处理方法,其特征在于,包括:
S1、基于编码模式和计算进制基数对超长位数进行编码,以生成分层级的超长位数编码;
S2、根据参与超长位数乘法的超长位数的符号和根据所述超长位数生成的所述超长位数编码进行乘法运算。
2.根据权利要求1所述的超长位数乘法的处理方法,其特征在于,所述步骤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、从所述编码字符串的首个非零字符开始遍历所述编码字符串,对所述编码字符串中的每个字符进行二进制编码以获得新生成的编码字符串和下一层级基数;对每次遍历获得的新生成的编码字符串进行二进制编码直至最后生成的字符串为空,且基于层数和每一层级基数生成所述分层级的超长位数编码。
3.根据权利要求2所述的超长位数乘法的处理方法,其特征在于,所述步骤S12进一步包括:
S121、基于以下公式遍历字符串X=XtXt-1…X1,对所述字符串中的每个字符进行二进制编码以获得编码字符串和第一层级基数:
基于Xt→Xt/2n=α1,Xt%2n=β1,X→α1Xt-1…X1;
Xt-1+β1*10→(Xt-1+β1*10)/2n=α2,(Xt-1+β1*10)%2n=β2,X→α1α2Xt-2…X1;
……
X1+βγ-1*10→(X1+βγ-1*10)/2n=αγ,(X1+βγ-1*10)%2n=βγ,X→α1α2…αγ;
其中,编码字符串为α1α2…αγ,第一层级基数为:βγ,;n表示计算机能够计算的最大位数,%表示求余数,/表示求商,皆为整数运算。
4.根据权利要求3所述的超长位数乘法的处理方法,其特征在于,所述步骤S13进一步包括:
S131、从所述编码字符串α1α2…αγ的首个非零字符开始,将α1α2…αγ作为X,执行所述步骤S121以获得新生成的字符串和下一层级基数;
S132、对新生成的字符串重复执行步骤S131直至最后生成的字符串为空;
S133、基于层数和每一层级基数生成所述分层级的超长位数编码X'=X′1*(2n)0+X′2*(2n)1+……+X′u*(2n)u-1,其中u表示层数,X′1,X′2,……,X′u为每一层的基数。
5.根据权利要求4所述的超长位数乘法的处理方法,其特征在于,所述步骤S2进一步包括:
S21、基于参与超长位数乘法的两个超长位数M和N生成所述分层级的超长位数编码M'和N':
M'=M′1*(2n)0+M′2*(2n)1+……+M′u*(2n)u-1,u为超长位数M的层数,M′1,M′2,……,M′u为每一层的基数;M'的符号为M'.bSign,
N'=N′1*(2n)0+N...
【专利技术属性】
技术研发人员:戚建淮,郑伟范,唐娟,彭华,刘建辉,汪乔,
申请(专利权)人:深圳市永达电子信息股份有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。