CN116301712A - 基于十进制乘法的bcd码处理方法、装置、设备及介质 - Google Patents
基于十进制乘法的bcd码处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116301712A CN116301712A CN202310277845.4A CN202310277845A CN116301712A CN 116301712 A CN116301712 A CN 116301712A CN 202310277845 A CN202310277845 A CN 202310277845A CN 116301712 A CN116301712 A CN 116301712A
- Authority
- CN
- China
- Prior art keywords
- multiplicand
- code
- bit
- multiplier
- 8421bcd
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 39
- 239000000047 product Substances 0.000 claims abstract description 158
- 230000036961 partial effect Effects 0.000 claims abstract description 121
- 239000012467 final product Substances 0.000 claims abstract description 50
- 238000004590 computer program Methods 0.000 claims description 16
- 238000000034 method Methods 0.000 abstract description 28
- 230000002829 reductive effect Effects 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/491—Computations with decimal numbers radix 12 or 20.
- G06F7/4915—Multiplying; Dividing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/57—Arithmetic logic units [ALU], i.e. arrangements or devices for performing two or more of the operations covered by groups G06F7/483 – G06F7/556 or for performing logical operations
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
本申请公开了一种基于十进制乘法的BCD码处理方法、装置、设备及介质,其中,该基于十进制乘法的BCD码处理方法包括:获取被乘数和乘数,被乘数和乘数为十进制数;确定被乘数对应的BCD码,BCD码包括8421BCD码和5421BCD码,确定乘数对应的5221BCD码,根据乘数的5221BCD码的位数,确定被乘数与每个位数进行乘法运算时,被乘数使用的BCD码为8421BCD码或为5421BCD码;获取被乘数与乘数的位数对应的部分积,并对部分积进行移位相加,确定被乘数和乘数对应的最终积,最终积为8421BCD码。该基于十进制乘法的BCD码处理方法以解决计算机对十进制数进行乘法运算时的运算过程较为繁琐和运算速度较低的问题。
Description
技术领域
本发明涉及计算机运算技术领域,尤其涉及一种基于十进制乘法的BCD码处理方法、装置、设备及介质。
背景技术
计算机从诞生到今天,经过多次迭代发展,以不断提升的运算速度,甚至以每秒数亿次或更高的运算速度为解决科学计算问题作出了重大贡献。
目前,将十进制数转化为二进制数,常用的方法是用数字二不断除以十进制数,并逆排余数。将二进制数转化为十进制数,需按二进制数各位数的权重,累加成十进制数。计算机是基于电路的开关特性,用0、1两个数码实现的。所以,计算机从诞生之日起,算术运算都是用二进制运算。人类若向计算机输入两个十进制数的乘法算术时,计算机进行十进制数的乘法算术运算,需要将两个十进制数都转化为二进制数,再将二进制乘法运算结果转为十进制数。这就产生了大量并不需要实际结果的运算,且在未进行算术运算前已进行了巨量运算,是一种运算浪费。所以,计算机对十进制数进行乘法运算时的运算过程较为繁琐和运算速度较低。
发明内容
本发明实施例提供一种基于十进制乘法的BCD码处理方法、装置、设备及介质,以解决计算机对十进制数进行乘法运算时的运算过程较为繁琐和运算速度较低的问题。
一种基于十进制乘法的BCD码处理方法,包括:
获取被乘数和乘数,被乘数和乘数为十进制数;
确定被乘数对应的BCD码,BCD码包括8421BCD码和5421BCD码,确定乘数对应的5221BCD码;
根据乘数的5221BCD码的位数,确定被乘数与每个位数进行乘法运算时,被乘数使用的BCD码为8421BCD码或为5421BCD码;
获取被乘数与乘数的位数对应的部分积,并对部分积进行相加,确定被乘数和乘数对应的最终积,最终积为8421BCD码,其中,若相加时,存在组向上一组进位,则在所述组加上8421BCD码的数0110。
一种基于十进制乘法的BCD码处理装置,包括:
因数获取模块,用于获取被乘数和乘数,被乘数和乘数为十进制数;
第一BCD码确定模块,用于确定被乘数对应的BCD码,BCD码包括8421BCD码和5421BCD码,确定乘数对应的5221BCD码,
第二BCD码确定模块,用于根据乘数的5221BCD码的位数,确定被乘数与每个位数进行乘法运算时,被乘数使用的BCD码为8421BCD码或为5421BCD码;
最终积确定模块,用于获取被乘数与乘数的位数对应的部分积,并对部分积进行相加,确定被乘数和乘数对应的最终积,最终积为8421BCD码,其中,若相加时,存在组向上一组进位,则在所述组加上8421BCD码的数0110。
在一些实施例中,第二BCD码确定模块,还用于将被乘数从低位到高位分成四位一组;若乘数的5221BCD码的位数为第一位,则确定被乘数与第一位对应的数字进行乘法运算时,被乘数使用的BCD码为8421BCD码;若乘数的5221BCD码的位数为第二位,则确定被乘数与第二位对应的数字进行乘法运算时,被乘数使用的BCD码为5421BCD码;若乘数的5221BCD码的位数为第三位,则确定被乘数与第三位对应的数字进行乘法运算时,被乘数使用的BCD码为5421BCD码;若乘数的5221BCD码的位数为第四位,则确定被乘数与第四位对应的数字进行乘法运算时,被乘数使用的BCD码为8421BCD码。
在一些实施例中,最终积确定模块,还用于对原部分积清零;基于乘数的末位值确定被乘数是否与原部分积相加,并将原部分积右移一位,形成新的部分积;将乘数右移一位,将次低位作为新的末位值,并将乘数空出最高位放部分积的最低位;重复执行基于乘数的末位值确定被乘数是否与原部分积相加的步骤直至基于乘数的最高位之后;将部分积作为最终积的高位值,将乘数作为最终值的低位值。
在一些实施例中,最终积确定模块,还用于确定乘数的末位值为初始乘数的第三位时,不将原部分积右移一位;将乘数右移一位,将次低位作为新的末位值,乘数空出最高位不放部分积的最低位。
在一些实施例中,第二BCD码确定模块,还用于确定乘数的5221BCD码的第四位的数值为1;将被乘数右移三位,将每组的最高位的数值1转换成数值0,再对应转换的组中加上数值8421BCD码的数值0101,生成目标被乘数,用以目标被乘数与原部分积相加。
一种基于十进制乘法的BCD码处理装置,包括:获取乘数数值为5时,确定被乘数的8421BCD码;将8421BCD码的被乘数右移三位,并将右移后的被乘数作为被乘数和乘数的第一结果积,第一结果积的码制为5421BCD码。一种基于十进制乘法的BCD码处理装置,包括:获取乘数数值为2时,确定被乘数的5421BCD码;将5421BCD码的被乘数右移一位,并将右移后的被乘数作为被乘数和乘数的第二结果积,第二结果积的码制为8421BCD码。
一种设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述基于十进制乘法的BCD码处理方法。
一种计算机可读介质,计算机可读介质存储有计算机程序,计算机程序被处理器执行时实现上述基于十进制乘法的BCD码处理方法。
上述基于十进制乘法的BCD码处理方法、装置、设备及介质,通过获取被乘数和乘数,被乘数和乘数为十进制数;确定被乘数对应的BCD码,BCD码包括8421BCD码和5421BCD码,确定乘数对应的5221BCD码;根据乘数的5221BCD码的位数,确定被乘数与每个位数进行乘法运算时,被乘数使用的BCD码为8421BCD码或为5421BCD码;获取被乘数与乘数的位数对应的部分积,并对部分积进行相加,确定被乘数和乘数对应的最终积,最终积为8421BCD码,其中,若相加时,存在组向上一组进位,则在所述组加上8421BCD码的数0110。使十进制乘法运算时不用先将乘数与被乘数转化成二进制数相乘,运算过程较为简化,运算速度也得到较大提升。不存在进制转化,计算机内部运算模块简化,物理电路减少,功耗减少和系统稳定性增加。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1绘示本发明一实施例中基于十进制乘法的BCD码处理方法的应用环境示意图;
图2绘示本发明一实施例中基于十进制乘法的BCD码处理方法的第一流程图;
图3绘示本发明一实施例中基于十进制乘法的BCD码处理方法的第二流程图;
图4绘示本发明一实施例中基于十进制乘法的BCD码处理方法的笔算步骤的示意图;
图5绘示本发明一实施例中基于十进制乘法的BCD码处理方法的笔算步骤的另一示意图;
图6绘示本发明一实施例中基于十进制乘法的BCD码处理方法的乘法笔算步骤的另一示意图;
图7绘示本发明一实施例中基于十进制乘法的BCD码处理装置的示意图;
图8绘示本发明一实施例中设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的基于十进制乘法的BCD码处理方法,可应用在如图1的应用环境中,该基于十进制乘法的BCD码处理方法应用在基于十进制乘法的BCD码运算系统中,该基于十进制乘法的BCD码运算系统包括客户端和服务器,其中,客户端通过网络与服务器进行通信。客户端又称为用户端,是指与服务器相对应,为客户端提供本地服务的程序。进一步地,客户端为计算机端程序、智能设备的APP程序或嵌入其他APP的第三方小程序。该客户端可安装在但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备等设备上。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种基于十进制乘法的BCD码处理方法,以该方法应用在图1中的服务器为例进行说明,具体包括如下步骤:
S10.获取被乘数和乘数,被乘数和乘数为十进制数。
其中,乘法(multiplication),是指将相同的数加起来的快捷方式。其运算结果称为积,“x”或“*”是乘号。乘号前面和后面的数均叫做因数,乘号前面的数为被乘数,乘号后面的数为乘数。
具体地,在向计算机输入十进制的乘法时,服务器获取所述被乘数和乘数。
S20.确定被乘数对应的BCD码,BCD码包括8421BCD码和5421BCD码,确定乘数对应的5221BCD码。
其中,BCD码(Binary-Coded Decimal),用4位二进制数来表示1位十进制数中的0~9这10个数码,是一种二进制的数字编码形式,用二进制编码的十进制代码。BCD码本质是一种十进制数。BCD码包括8421BCD码、5421BCD码和5221BCD码。
十进制数中的0~9的这10个数与二进制数、BCD码的对应关系如下表一:
十进制数 | 二进制数 | 8421BCD码 | 5421BCD码 | 5221BCD码 |
0 | 0 | 0000 | 0000 | 0000 |
1 | 1 | 0001 | 0010 | 0001 |
2 | 10 | 0010 | 0010 | 0010 |
3 | 11 | 0011 | 0011 | 0011 |
4 | 100 | 0100 | 0100 | 0110 |
5 | 101 | 0101 | 1000 | 1000 |
6 | 110 | 0110 | 1001 | 1001 |
7 | 111 | 0111 | 1010 | 1010 |
8 | 1000 | 1000 | 1011 | 1011 |
9 | 1001 | 1001 | 1100 | 1110 |
表一
十进制数10-15与8421码数的关系如下表二:
十进制数 | 8421BCD码 |
10 | 1010 |
11 | 1011 |
12 | 1100 |
13 | 1101 |
14 | 1110 |
15 | 1111 |
表二
具体地,服务器获取十进制的被乘数和乘数后,可根据表一中的对应关系,确定该被乘数对应的8421BCD码和5421BCD码,和乘数对应的5221BCD码。例如:十进制数的被乘数为2345,则2345对应的8421BCD码为0010001101000101;2345对应的5421BCD码为0010001101001000;十进制的乘数为62,则62对应的5221BCD码为10010010。
S30.根据乘数的5221BCD码的位数,确定被乘数与每个位数进行乘法运算时,被乘数使用的BCD码为8421BCD码或为5421BCD码。
其中,位数可以为第X组第X位。例如:乘数62对应的5221BCD码为10010010。该5221BCD码有两组,从右往左(从低到高)分别为第一位、第二位、第三位和第四位。则5221BCD码的第二组第一位、第二组第四位和第一组第二位数字均为1。
具体地,该方法获取乘法的5221BCD码后,需要对被乘数和乘数进行乘法运算,该方法是通过对乘数的每一位数,与被乘数分别进行相乘,但在相乘的过程中,由于乘数的位数不同,被乘数运算时使用的BCD码也可不同。例如:乘数的5221BCD码的位数为第一位,则确定被乘数与第一位对应的数字进行乘法运算时,被乘数使用的BCD码为8421BCD码;若乘数的5221BCD码的位数为第二位,则确定被乘数与第二位对应的数字进行乘法运算时,被乘数使用的BCD码为5421BCD码。
S40.获取被乘数与乘数的位数对应的部分积,并对部分积进行相加,确定被乘数和乘数对应的最终积,最终积为8421BCD码,其中,若相加时,存在组向上一组进位,则在所述组加上8421BCD码的数0110。
其中,服务器获取被乘数与乘数的位数对应的部分积,并对其进行移位相加(需要第3位的部分积最低位与第2位的部分积最低位对齐,其余的错一位相加),确定被乘数和乘数对应的最终积,最终积为8421BCD码,其中,若相加时,存在组向上一组进位,则在所述组加上8421BCD码的数0110。将该最终积对应的十进制数进行输出。计算机可直接获取所有的部分积,并对所述部分积进行移位相加,获取最终积。
如图4、5、6所示。在图4的积000100111110110100110000中的倒数第3个数字“1”,为倒数第2组向倒数第3组进位时产生的,则需要在倒数第二组加上8421BCD码的数0110,使最终积为000100111110110110010000。原因如下:
8421BCD码组成的数,简称8421码数。两个8421码数相加,按二进制加法进行,但每组的8421码数向上一组的8421码数进位时,本组8421数要加上6(二进制就是加0110、8421BCD码也是加0110)。
例:8+9=17
结果8421编码数不正确。按运算规则,每组最高位有进位的,要加0110:
10111,从低位到高位,四位一组,最高位只有一个1,不够四位,前面补三个0,变成00010111,按8421码数的含义,就是十进制数的17,结果正确。也就是说,相加时要在每组的最低位设置触发开关处理。BCD编码数的加法运算,常使用余3码进行优化运算。
具体地,当计算机获取两个十进制数时,将其按照对应的BCD码数进行乘法运算,最终获取的最终积为8421BCD码,后续也可将8421BCD码取值为十进制数进行输出。这样,就不需要通过复杂的处理方法(即十进制数转化为二进制数,常用的方法是用2不断除以十进制数,并逆排余数。将二进制数转化为十进制数,需按二进制数各位数的权重,累加成十进制数)。只需要直接通过表一的对应关系,将十进制的每个数按照原有顺序进行排列。
该算法运算简单,不用先将乘数与被乘数转化成二进制数相乘,运算过程较为简化,运算速度也得到较大提升。不存在进制转化,计算机内部运算模块简化,物理电路减少,功耗减少和系统稳定性增加。
上述基于十进制乘法的BCD码处理方法,通过获取被乘数和乘数,被乘数和乘数为十进制数;确定被乘数对应的BCD码,BCD码包括8421BCD码和5421BCD码,确定乘数对应的5221BCD码;根据乘数的5221BCD码的位数,确定被乘数与每个位数进行乘法运算时,被乘数使用的BCD码为8421BCD码或为5421BCD码;获取被乘数与乘数的位数对应的部分积,并对部分积进行移位相加,确定被乘数和乘数对应的最终积,最终积为8421BCD码。使十进制乘法运算时不用先将乘数与被乘数转化成二进制数相乘,运算过程较为简化,运算速度也得到较大提升。不存在进制转化,计算机内部运算模块简化,物理电路减少,功耗减少和系统稳定性增加。
在一实施例中,如图3所示,在步骤S30中,即根据乘数的5221BCD码的位数,确定被乘数与每个位数进行乘法运算时,被乘数使用的BCD码为8421BCD码或为5421BCD码中,具体包括如下步骤:
S301.将被乘数从低位到高位分成四位一组。
S302.若乘数的5221BCD码的位数为第一位,则确定被乘数与第一位对应的数字进行乘法运算时,被乘数使用的BCD码为8421BCD码。
S303.若乘数的5221BCD码的位数为第二位,则确定被乘数与第二位对应的数字进行乘法运算时,被乘数使用的BCD码为5421BCD码。
S304.若乘数的5221BCD码的位数为第三位,则确定被乘数与第三位对应的数字进行乘法运算时,被乘数使用的BCD码为5421BCD码。
S305.若乘数的5221BCD码的位数为第四位,则确定被乘数与第四位对应的数字进行乘法运算时,被乘数使用的BCD码为8421BCD码。
其中,该方法将乘数从低位到高位分成四位一组;分组的位数可以为第X组第X位。例如:乘数62对应的5221BCD码为10010010。该5221BCD码有两组,从右往左(从低到高)分别为第一位、第二位、第三位和第四位。则5221BCD码的第二组第一位、第二组第四位和第一组第二位数字均为1。
具体地,该方法根据乘数的5221BCD码选择被乘数对应的码制(为8421BCD码或5421BCD码);若乘数的5221BCD码的位数为每组第一位,则确定被乘数与第一位对应的数字进行乘法运算时,被乘数使用的BCD码为8421BCD码;若乘数的5221BCD码的位数为第二位,则确定被乘数与第二位对应的数字进行乘法运算时,被乘数使用的BCD码为5421BCD码;若乘数的5221BCD码的位数为第三位,则确定被乘数与第三位对应的数字进行乘法运算时,被乘数使用的BCD码为5421BCD码;若乘数的5221BCD码的位数为第四位,则确定被乘数与第四位对应的数字进行乘法运算时,被乘数使用的BCD码为8421BCD码。
例如:如图4所示,以2345*62为例。62的5221码为:10010010;2345的8421BCD码为:0010001101000101,5421BCD码为0010001101001000。如图4所示。10010010第1位为0,2345各位取8421BCD码(0010001101000101),并第1位的数字0相乘,获取第一位的部分积为0000000000000000;10010010第2位为1,2345各位取5421BCD码(0010001101001000),并与第2位的数字1相乘,获取第二位的部分积为0010001101001000;10010010第3位为0,2345各位取5421BCD码(0010001101001000),并第3位的数字0相乘,获取第三位的部分积为0000000000000000;10010010第4位为0,2345各位取8421BCD码(0010001101000101),并第4位的数字0相乘,获取第四位的部分积为0000000000000000;10010010第2组第4位为1,2345各位取8421BCD码(0010001101000101),并第2组第4位的数字1相乘,获取第2组第4位的初始部分积为0010001101000101。
并且,第2组第4位的初始部分积0010001101000101为5421BCD码,需要将其转化为8421BCD码才能和其他的部分积进行相加(第四位数上为1时,相当于被乘数乘以数字5,则根据步骤S3051和步骤S3052也可知,要将0010001101000101*1000=0010001101000101000中的每组第四位的1变成0,并将0101加到发生变化的该组上,即变成0010001011100100101)。此时,0010001011100100101为初始部分积0010001101000101对应的8421BCD码,则部分积相加时,0010001011100100101代替0010001101000101的位置。
将部分积进行移位相加(另外需要第3位的部分积最低位与第2位的部分积最低位对齐),得到图4的积000100111110110100110000。但000100111110110100110000中的倒数第3个数字“1”,为倒数第2组向倒数第3组进位时产生的,则需要在倒数第二组加上8421BCD码的数0110,使最终积为8421BCD码的000100111110110110010000。同时,该000100111110110110010000也可表示为8421BCD码的13141390(13中的1与14中的4相加形成5,14中的1与3相加形成4),则该13141390对应的十进制数为145390,结果正确。
另外,如图6所示,在获取到十进制的被乘数时,也可直接将被乘数的5421BCD码直接转化为8421BCD码。在计算机运行中,也可先运行,将5421BCD码转化为后续步骤所需的8421BCD码。
即:该方法确定被乘数的5421BCD码,则将5421BCD码对应的被乘数右移三位,将每组的最高位的数值1转换成数值0,再对应转换的组中加上数值8421BCD码的数值0101,生成目标被乘数,所述目标被乘数为被乘数的8421BCD码。
或,确定乘数的5221BCD码的第四位的数值为1,则将5421BCD码对应的被乘数右移三位,将每组的最高位的数值1转换成数值0,再对应转换的组中加上数值8421BCD码的数值0101,生成目标被乘数,所述目标被乘数为被乘数的8421BCD码。
步骤S301至S305的作用在于,为了能够获取最终积是正确的,需要根据乘数的5221BCD码选择被乘数的BCD码制。
在一实施例中,如图3所示,在步骤S40中,即对获取被乘数与乘数的位数对应的部分积,并对部分积进行相加,确定被乘数和乘数对应的最终积中,具体包括如下步骤:
S401.对原部分积清零。
S402.基于乘数的末位值确定被乘数是否与原部分积相加,并将原部分积右移一位,形成新的部分积。
S403.将乘数右移一位,将原次低位作为新的末位值,并将乘数空出最高位放原部分积的最低位。
S404.重复执行基于乘数的末位值确定被乘数是否与原部分积相加的步骤直至基于乘数的最高位之后。
S405.将部分积作为最终积的高位值,将乘数作为最终值的低位值。
其中,如图4所示为乘数和被乘数的笔算步骤,对所有的部分积进行列出,并同时相加;但在计算机运算过程中,为了减少存放空间,则可以对部分积进行逐步位移相加。
具体地,该方法获取原部分积,并对原部分积清零。例如:乘数62的5221码为10010010,乘数的末位值为0,不与原部分积0相加,原部分积右移一位,形成新的部分积为0;
将乘数10010010右移一位,则乘数变成01001001,将原次低位对应的值1作为新的末位值1,乘数空出最高位放部分积的最低位值0;
新的末位值1确定被乘数与原部分积相加,则相加的值为(010001101001000,被乘数的5124BCD码),将该010001101001000右移一位,为01000110100100,将001000110100100作为新的部分积(该新的部分积作为下一次循环的原部分积);
将乘数01001001右移一位,则乘数变成00100100,将原次低位对应的值0作为新的末位值0,乘数空出最高位放部分积的最低位值0;各编码数高一位,原则上在乘积的位置也高一位,但D的第三位与第二位的权重相同,因权重都是2,所以第三位与第二位的部分积位置相同。
新的末位值1为0,不与原部分积010001101001000相加,原部分积为001000110100100,不将原部分积右移一位,形成新的部分积为01000110100100;
将乘数00100100右移一位,则乘数变成00010010,将原次低位对应的值0作为新的末位值0,乘数空出最高位放部分积的最低位值0;然后重复执行,基于乘数的末位值确定被乘数是否与原部分积相加的步骤直至基于乘数的最高位1之后(末位值为最高位时,需要进行循环,超过则不需要),将部分积作为最终积的高位值,将乘数作为最终值的低位值。
此时,乘数为10010000,部分积为0001001111101101,则最终积为8421BCD码的000100111110110110010000;该最终积对应的十进制取值为145390。另外,可知2345*62=145390是正确的,则该方法为正确的。
同理,还如图5和6所示的乘法式子也可运用该处理方法。
步骤S401至步骤S405的作用在于,对部分积进行累加循环,进一步减少计算机的运算时间和存储空间,提高运算效率。
在一实施例中,如图3所示,在步骤S40中,即对获取被乘数与乘数的位数对应的部分积,并对部分积进行相加,确定被乘数和乘数对应的最终积中,具体包括如下步骤:
S406.确定乘数的末位值为初始乘数的第三位时,不将原部分积右移一位。
S407.将乘数右移一位,将次低位作为新的末位值,乘数空出最高位不放部分积的最低位。
其中,初始乘数的第三位为各组的第三位(第3位)。如图4所示的蓝色部分,第1组的第3位和第2组的第3位,部分积均与第2位的位置对齐,不用移位。
具体地,本实施例的原因在于,各编码数高一位,原则上在乘积的位置也高一位,因D第三位编码的权重与第二位相同,也是2,所以第三位的部分积与第二位的部分积位置相同。则在计算机运算过程中,确定乘数的末位值为初始乘数的第三位时,不将原部分积右移一位;将乘数右移一位,将次低位作为新的末位值,乘数空出最高位不放部分积的最低位;其余均按照步骤S402至步骤S405一样运行。
在一实施例中,如图3所示,在步骤S305之后,即若乘数的5221BCD码的位数为第四位,则确定被乘数与第四位对应的数字进行乘法运算时,被乘数使用的BCD码为8421BCD码之后,具体还包括如下步骤:
S3051.确定乘数的5221BCD码的第四位的数值为1。
S3052.将被乘数右移三位,将每组的最高位的数值1转换成数值0,再对应转换的组中加上数值8421BCD码的数值0101,生成目标被乘数,用以目标被乘数与原部分积相加。
其中,因C*5(被乘数C*乘数5),乘积为5421BCD码。5421BCD码要转化为8421BCD码,才能和其他各位的8421BCD码数相加。而5的8421BCD码为0101。转化的方法是取C的8421BCD码加三个0后,由低到高4位一组,将每组的最高位的1变0,在本组加上0101。见如图4所示的红色部分。因第四位为1,等于乘以5,要将0010001101000101*1000=0010001101000101000中的每组第四位的1变为0101,加到本组上去,即变为0010001011100100101,再与各行数相加。
具体地,该转化的方法在计算机中运行时,则计算机确定乘数的5221BCD码的第四位的数值为1,将被乘数右移三位(相当于8421BCD码加三个0),将每组的最高位(第四位)的数值1转换成数值0,再对应转换的组中加上数值8421BCD码的数值0101,生成目标被乘数,用以目标被乘数与原部分积相加。
在一实施例中,如图3所示,提供一种基于十进制乘法的BCD码处理方法,具体还包括如下步骤:
S51.获取乘数数值为5时,确定被乘数的8421BCD码。
S52.将8421BCD码的被乘数右移三位,并将右移后的被乘数作为被乘数和乘数的第一结果积,第一结果积的码制为5421BCD码。
其中,十进制数的被乘数C与乘数D相乘,乘积为E,即C*D=E;
具体地,当乘数数值为5时(D=5),则被乘数取8421BCD码,5取5421码,即5取1000时,C*1000的结果如表三:
表三
可见,当被乘数C取8421码,5取5421编码即1000,在8421BCD码右侧加三个0(即*1000),乘积E取5421码,可直接得到乘积。
则在8421BCD码右侧加三个0,计算机需将8421BCD码的被乘数右移三位,并将右移后的被乘数作为被乘数和乘数的第一结果积,第一结果积的码制为5421BCD码。
另外,该乘数数值也可以为乘数的位数数值。例如:乘数为2345时,再对乘数的位数数值5进行乘法运算时,本实施例也同样适用。
在一实施例中,如图3所示,提供一种基于十进制乘法的BCD码处理方法,具体还包括如下步骤:
S53.获取乘数数值为2时,确定被乘数的5421BCD码。
S54.将5421BCD码的被乘数右移一位,并将右移后的被乘数作为被乘数和乘数的第二结果积,第二结果积的码制为8421BCD码。
其中,十进制数的被乘数C与乘数D相乘,乘积为E,即C*D=E;
具体地,当乘数数值为2时(D=2),在8421BCD码制、5421BCD码制和5221BCD码制中,2都可表示为0010,则C*2可表示为C*0010。若C是二进制,直接在C的右侧加个0就是二进制数乘以2的结果了。但若采用其他适当的编码,C*0010,也可直接在C的右侧加个0就行,如表四:
表四
上表说明,十进制数C取5421编码,2的编码取0010,在C的5421BCD码右侧加个0(即*0010),就是C*2的乘积E。E也是8421BCD码。
则C的5421BCD码右侧加个0计算机需将5421BCD码的被乘数右移一位,并将右移后的被乘数作为被乘数和乘数的第二结果积,第二结果积的码制为8421BCD码。
另外,该乘数数值也可以为乘数的位数数值。例如:乘数为2345时,在对乘数的位数数值2进行乘法运算时,本实施例也同样适用。
另外:
(1)D=0,C用8421BCD码或其他任何编码,0都可表示为0000,不管C为何数,C*0=0,即C的每位数均为0000,就是乘积。
(2)D=1,C用8421编码或其他任何编码,1都可表示为0001,因C*1=C,所以1可按需要采用不同码制。C*1,等于C的8421编码。
综上,任意十进制数C与0、1、2、5(十进制数D)相乘,乘积为E,即C*D=E。若E采用8421编码、C采用8421编码或5421编码,D用8421编码或5421编码等,竟然可从编码的互换中直接读取到E,得到乘积。
上述基于十进制乘法的BCD码处理方法,通过获取被乘数和乘数,被乘数和乘数为十进制数;确定被乘数对应的BCD码,BCD码包括8421BCD码和5421BCD码,确定乘数对应的5221BCD码;根据乘数的5221BCD码的位数,确定被乘数与每个位数进行乘法运算时,被乘数使用的BCD码为8421BCD码或为5421BCD码;获取被乘数与乘数的位数对应的部分积,并对部分积进行移位相加,确定被乘数和乘数对应的最终积,最终积为8421BCD码。使十进制乘法运算时不用先将乘数与被乘数转化成二进制数相乘,运算过程较为简化,运算速度也得到较大提升。不存在进制转化,计算机内部运算模块简化,物理电路减少,功耗减少和系统稳定性增加。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种基于十进制乘法的BCD码处理装置,该基于十进制乘法的BCD码处理装置与上述实施例中基于十进制乘法的BCD码处理方法一一对应。如图7所示,该基于十进制乘法的BCD码处理装置包括因数获取模块10、第一BCD码确定模块20、第二BCD码确定模块30和最终积确定模块40。各功能模块详细说明如下:
因数获取模块10,用于获取被乘数和乘数,被乘数和乘数为十进制数;
第一BCD码确定模块20,用于确定被乘数对应的BCD码,BCD码包括8421BCD码和5421BCD码,确定乘数对应的5221BCD码,
第二BCD码确定模块30,用于根据乘数的5221BCD码的位数,确定被乘数与每个位数进行乘法运算时,被乘数使用的BCD码为8421BCD码或为5421BCD码;
最终积确定模块40,用于获取被乘数与乘数的位数对应的部分积,并对部分积进行相加,确定被乘数和乘数对应的最终积,最终积为8421BCD码,其中,若相加时,存在组向上一组进位,则在所述组加上8421BCD码的数0110。
在一些实施例中,第二BCD码确定模块30,包括:
分组子模块,用于将被乘数从低位到高位分成四位一组。
第一位位数确定子模块,用于若乘数的5221BCD码的位数为第一位,则确定被乘数与第一位对应的数字进行乘法运算时,被乘数使用的BCD码为8421BCD码。
第二位位数确定子模块,若乘数的5221BCD码的位数为第二位,则确定被乘数与第二位对应的数字进行乘法运算时,被乘数使用的BCD码为5421BCD码。
第三位位数确定子模块,若乘数的5221BCD码的位数为第三位,则确定被乘数与第三位对应的数字进行乘法运算时,被乘数使用的BCD码为5421BCD码。
第四位位数确定子模块,若乘数的5221BCD码的位数为第四位,则确定被乘数与第四位对应的数字进行乘法运算时,被乘数使用的BCD码为8421BCD码。
在一些实施例中,最终积确定模块40,包括:
清零子模块,用于对原部分积清零。
新的部分积形成子模块,用于基于乘数的末位值确定被乘数是否与原部分积相加,并将原部分积右移一位,形成新的部分积。
乘数右移子模块,用于将乘数右移一位,将次低位作为新的末位值,并将乘数空出最高位放部分积的最低位。
重复执行子模块,用于重复执行基于乘数的末位值确定被乘数是否与原部分积相加的步骤直至基于乘数的最高位之后。
最终积确定子模块,用于将部分积作为最终积的高位值,将乘数作为最终值的低位值。
在一些实施例中,最终积确定模块40,包括:
原部分积不右移子模块,用于确定乘数的末位值为初始乘数的第三位时,不将原部分积右移一位。
乘数空出子模块,用于将乘数右移一位,将次低位作为新的末位值,乘数空出最高位不放部分积的最低位。
一种基于十进制乘法的BCD码处理装置,还包括:
第四位的数值确定子模块,用于确定乘数的5221BCD码的第四位的数值为1。
目标被乘数生成子模块,用于将被乘数右移三位,将每组的最高位的数值1转换成数值0,再对应转换的组中加上数值8421BCD码的数值0101,生成目标被乘数,用以目标被乘数与原部分积相加。
一种基于十进制乘法的BCD码处理装置,还包括:
乘数数值5获取模块,用于获取乘数数值为5时,确定被乘数的8421BCD码。
第一结果积确定模块,用于将8421BCD码的被乘数右移三位,并将右移后的被乘数作为被乘数和乘数的第一结果积,第一结果积的码制为5421BCD码。
一种基于十进制乘法的BCD码处理装置,还包括:
乘数数值2获取模块,获取乘数数值为2时,确定被乘数的5421BCD码。
第二结果积确定模块,用于将5421BCD码的被乘数右移一位,并将右移后的被乘数作为被乘数和乘数的第二结果积,第二结果积的码制为8421BCD码。
上述基于十进制乘法的BCD码处理装置,通过获取被乘数和乘数,被乘数和乘数为十进制数;确定被乘数对应的BCD码,BCD码包括8421BCD码和5421BCD码,确定乘数对应的5221BCD码;根据乘数的5221BCD码的位数,确定被乘数与每个位数进行乘法运算时,被乘数使用的BCD码为8421BCD码或为5421BCD码;获取被乘数与乘数的位数对应的部分积,并对部分积进行相加,确定被乘数和乘数对应的最终积,最终积为8421BCD码,其中,若相加时,存在组向上一组进位,则在所述组加上8421BCD码的数0110。使十进制乘法运算时不用先将乘数与被乘数转化成二进制数相乘,运算过程较为简化,运算速度也得到较大提升。不存在进制转化,计算机内部运算模块简化,物理电路减少,功耗减少和系统稳定性增加。
关于基于十进制乘法的BCD码处理装置的具体限定可以参见上文中对于基于十进制乘法的BCD码处理方法的限定,在此不再赘述。上述基于十进制乘法的BCD码处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于设备中的处理器中,也可以以软件形式存储于设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一实施例中,提供了一种设备,该设备可以是服务器,其内部结构图可以如图8所示。该设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该设备的处理器用于提供计算和控制能力。该设备的存储器包括非易失性介质、内存储器。该非易失性介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性介质中的操作系统和计算机程序的运行提供环境。该设备的数据库用于基于十进制乘法的BCD码处理方法相关的数据。该设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于十进制乘法的BCD码处理方法。
在一实施例中,提供一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例基于十进制乘法的BCD码处理方法,例如图2所示S10至步骤S40。或者,处理器执行计算机程序时实现上述实施例中基于十进制乘法的BCD码处理装置的各模块/单元的功能,例如图7所示模块10至模块40的功能。为避免重复,此处不再赘述。
在一实施例中,提供一种计算机可读介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例基于十进制乘法的BCD码处理方法,例如图2所示S10至步骤S40。或者,该计算机程序被处理器执行时实现上述装置实施例中基于十进制乘法的BCD码处理装置中各模块/单元的功能,例如图7所示模块10至模块40的功能。为避免重复,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于十进制乘法的BCD码处理方法,其特征在于,包括:
获取被乘数和乘数,所述被乘数和所述乘数为十进制数;
确定所述被乘数对应的BCD码,所述BCD码包括8421BCD码和5421BCD码,确定所述乘数对应的5221BCD码;
根据所述乘数的5221BCD码的位数,确定所述被乘数与每个位数进行乘法运算时,所述被乘数使用的BCD码为8421BCD码或为5421BCD码;
获取所述被乘数与所述乘数的位数对应的部分积,并对所述部分积进行相加,确定所述被乘数和所述乘数对应的最终积,所述最终积为8421BCD码;其中,若相加时,存在组向上一组进位,则在所述组加上8421BCD码的数0110。
2.根据权利要求1所述的基于十进制乘法的BCD码处理方法,其特征在于,根据所述乘数的5221BCD码的位数,确定所述被乘数与每个位数进行乘法运算时,所述被乘数使用的BCD码为8421BCD码或为5421BCD码,包括:
将所述被乘数从低位到高位分成四位一组;
若所述乘数的5221BCD码的位数为第一位,则确定所述被乘数与第一位对应的数字进行乘法运算时,所述被乘数使用的BCD码为8421BCD码;
若所述乘数的5221BCD码的位数为第二位,则确定所述被乘数与第二位对应的数字进行乘法运算时,所述被乘数使用的BCD码为5421BCD码;
若所述乘数的5221BCD码的位数为第三位,则确定所述被乘数与第三位对应的数字进行乘法运算时,所述被乘数使用的BCD码为5421BCD码;
若所述乘数的5221BCD码的位数为第四位,则确定所述被乘数与第四位对应的数字进行乘法运算时,所述被乘数使用的BCD码为8421BCD码。
3.根据权利要求1所述的基于十进制乘法的BCD码处理方法,其特征在于,对获取所述被乘数与所述乘数的位数对应的部分积,并对所述部分积进行相加,确定所述被乘数和所述乘数对应的最终积,包括:
对原部分积清零;
基于所述乘数的末位值确定所述被乘数是否与原部分积相加,并将所述原部分积右移一位,形成新的部分积;
将所述乘数右移一位,将次低位作为新的末位值,并将所述乘数空出最高位放所述部分积的最低位;
重复执行所述基于所述乘数的末位值确定所述被乘数是否与原部分积相加的步骤直至基于所述乘数的最高位之后;
将所述部分积作为所述最终积的高位值,将所述乘数作为所述最终值的低位值。
4.根据权利要求2所述的基于十进制乘法的BCD码处理方法,其特征在于,对获取所述被乘数与所述乘数的位数对应的部分积,并对所述部分积进行相加,确定所述被乘数和所述乘数对应的最终积,还包括:
确定所述乘数的末位值为初始乘数的第三位时,不将原部分积右移一位;
将所述乘数右移一位,将次低位作为新的末位值,所述乘数空出最高位不放部分积的最低位。
5.根据权利要求2所述的基于十进制乘法的BCD码处理方法,其特征在于,若所述乘数的5221BCD码的位数为第四位,则确定所述被乘数与第四位对应的数字进行乘法运算时,所述被乘数使用的BCD码为8421BCD码之后,还包括:
确定所述乘数的5221BCD码的第四位的数值为1;
将所述被乘数右移三位,将每组的最高位的数值1转换成数值0,再对应转换的组中加上数值8421BCD码的数值0101,生成目标被乘数,用以所述目标被乘数与原部分积相加。
6.根据权利要求1所述的基于十进制乘法的BCD码处理方法,其特征在于,还包括:
获取所述乘数数值为5时,确定所述被乘数的8421BCD码;
将8421BCD码的所述被乘数右移三位,并将所述右移后的所述被乘数作为所述被乘数和所述乘数的第一结果积,所述第一结果积的码制为5421BCD码。
7.根据权利要求1所述的基于十进制乘法的BCD码处理方法,其特征在于,还包括:
获取所述乘数数值为2时,确定所述被乘数的5421BCD码;
将5421BCD码的所述被乘数右移一位,并将所述右移后的所述被乘数作为所述被乘数和所述乘数的第二结果积,所述第二结果积的码制为8421BCD码。
8.一种基于十进制乘法的BCD码处理装置,其特征在于,包括:
因数获取模块,用于获取被乘数和乘数,所述被乘数和所述乘数为十进制数;
第一BCD码确定模块,用于确定所述被乘数对应的BCD码,所述BCD码包括8421BCD码和5421BCD码,确定所述乘数对应的5221BCD码,
第二BCD码确定模块,用于根据所述乘数的5221BCD码的位数,确定所述被乘数与每个位数进行乘法运算时,所述被乘数使用的BCD码为8421BCD码或为5421BCD码;
最终积确定模块,用于获取所述被乘数与所述乘数的位数对应的部分积,并对所述部分积进行相加,确定所述被乘数和所述乘数对应的最终积,所述最终积为8421BCD码,其中,若相加时,存在组向上一组进位,则在所述组加上8421BCD码的数0110。
9.一种设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述基于十进制乘法的BCD码处理方法。
10.一种计算机可读介质,所述计算机可读介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述基于十进制乘法的BCD码处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310277845.4A CN116301712A (zh) | 2023-03-21 | 2023-03-21 | 基于十进制乘法的bcd码处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310277845.4A CN116301712A (zh) | 2023-03-21 | 2023-03-21 | 基于十进制乘法的bcd码处理方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116301712A true CN116301712A (zh) | 2023-06-23 |
Family
ID=86816435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310277845.4A Pending CN116301712A (zh) | 2023-03-21 | 2023-03-21 | 基于十进制乘法的bcd码处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116301712A (zh) |
-
2023
- 2023-03-21 CN CN202310277845.4A patent/CN116301712A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210349692A1 (en) | Multiplier and multiplication method | |
WO2022037257A1 (zh) | 卷积计算引擎、人工智能芯片以及数据处理方法 | |
CN111008003B (zh) | 数据处理器、方法、芯片及电子设备 | |
CN111010883A (zh) | 矩阵的处理方法、装置及逻辑电路 | |
CN110362293B (zh) | 乘法器、数据处理方法、芯片及电子设备 | |
CN111563599A (zh) | 一种量子线路的分解方法、装置、存储介质及电子装置 | |
WO2014105154A1 (en) | Systems, methods, and computer program products for performing mathematical operations | |
CN112506880B (zh) | 数据处理方法及相关设备 | |
US12009948B2 (en) | Data processing apparatus and method, base station, and storage medium | |
CN114138231B (zh) | 执行矩阵乘法运算的方法、电路及soc | |
CN110554854B (zh) | 数据处理器、方法、芯片及电子设备 | |
CN113032723B (zh) | 一种矩阵乘法器的实现方法及矩阵乘法器装置 | |
WO2023124371A1 (zh) | 数据处理装置、方法、芯片、计算机设备及存储介质 | |
CN116301712A (zh) | 基于十进制乘法的bcd码处理方法、装置、设备及介质 | |
CN115035384B (zh) | 数据处理方法、装置和芯片 | |
CN109379191B (zh) | 一种基于椭圆曲线基点的点乘运算电路和方法 | |
CN115827555A (zh) | 数据处理方法、计算机设备、存储介质和乘法器结构 | |
CN115483934A (zh) | 用于多方安全计算的数据转换方法和装置 | |
CN113504892A (zh) | 一种设计乘法器查找表的方法、系统、设备及介质 | |
CN110647307B (zh) | 数据处理器、方法、芯片及电子设备 | |
CN113126954B (zh) | 浮点数乘法计算的方法、装置和算术逻辑单元 | |
CN110688087B (zh) | 数据处理器、方法、芯片及电子设备 | |
CN113705784A (zh) | 一种基于矩阵共享的神经网络权重编码方法及硬件系统 | |
CN113805846A (zh) | 取模运算方法、电路、电子设备和计算机可读存储介质 | |
CN109992242B (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 |