CN114895867A - 一种关于“以7为除数的运算”的计算机快捷程序 - Google Patents
一种关于“以7为除数的运算”的计算机快捷程序 Download PDFInfo
- Publication number
- CN114895867A CN114895867A CN202210551559.8A CN202210551559A CN114895867A CN 114895867 A CN114895867 A CN 114895867A CN 202210551559 A CN202210551559 A CN 202210551559A CN 114895867 A CN114895867 A CN 114895867A
- Authority
- CN
- China
- Prior art keywords
- divisor
- program
- quotient
- computer
- iteration
- 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
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
- G06F7/4917—Dividing
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Complex Calculations (AREA)
Abstract
本发明涉及计算机数字计算技术领域,具体为一种关于“以7为除数的运算”的计算机快捷程序,包括除法运算程序,所述除法运算程序包括以7为除数的运算程序P7,所述P7的运算程序由函数迭代算法以及数字迭代算法构成,且所述P7的运算程序包括十个步骤,通过将被除数以及除数输入该计算机快捷程序,即能快速得到最终结果商,从而有效的提高了计算机对除数7的数据处理速度,进而快速输出最终运算结果,并且在对除数7进行逻辑运算时,采用函数迭代算法以及数字迭代算法,有效的提高了最终输出值商的精度,进而满足大多数工程设计中对除法运算的高精度需求。
Description
技术领域
本发明涉及计算机数字计算技术领域,具体为一种关于“以7为除数的运算”的计算机快捷程序。
背景技术
四则运算是计算机应用系统的一种常用运算,对计算机而言,加减运算比较容易实现,乘除运算相对比较复杂,大多数计算机一般均采用循环移位和加法来实现乘法运算,用循环移位和减法来实现除法运算,随着计算机应用场景的广泛深入,在处理工业控制、仪表仪器等需要实时控制的应用场合时,计算机系统对运算速度有着较高的要求,经常需要在几十微秒内实现一次乘除法运算,此时如果通过软件实现乘除法速度会较慢,例如对n位除法,平均需要执行n次2n位移位,n次判断,n/2次减法和n次循环控制,它们的速度不能满足实时系统的需要。
对此中国专利公开(公告)号:CN104375800A,公开了一种嵌入式系统的浮点除法运算方法、系统及嵌入式系统,其首先获取被除数和除数;随后将除数中的小数位提出;再利用除数的小数位获取除数的倒数;将被除数的小数位和除数的小数位相乘获得商的小数位;将被除数的指数位、除数的指数位和除数倒数的指数位相加获得商的指数位;最后根据被除数的符号位和除数的符号位得到商的符号位,从而得到浮点数的除法运算结果,由于上述浮点除法运算方法、系统及嵌入式系统不是利用迭代算法进行除法运算,而是仅仅利用相对运算量相对较少的加法、乘法等步骤进行运算,因此能够以较少的步骤获得除法运算的结果,从而能够解决现有浮点除法运算方法因步骤较多而浪费嵌入式系统的运算资源的问题。
然而在使用上述方法及系统时,还存在一些问题,首先在处理除法的计算时,上述系统并没有依据除数的特点进行区分,即无论什么数作为除数都是一样的处理方式,导致计算机在运算速度方面很难有所突破,其次在处理大型数据时,往往要求除法运算的结果需要有很高的精度,而使用上述方法及系统时,很难满足大多数工程设计中对除法运算的精度需求。
因此亟需发明一种关于“以7为除数的运算“的计算机快捷程序来解决上述问题。
发明内容
本发明的目的在于提供一种关于“以7为除数的运算“的计算机快捷程序,以解决上述背景技术中提出的在处理除法的计算时,并没有依据除数的特点进行区分运算,即无论什么数作为除数都是一样的处理方式,导致计算机在运算速度方面有所降低,其次除法运算的结果精度较低的问题。
为实现上述目的,本发明提供如下技术方案:一种关于“以7为除数的运算”的计算机快捷程序,包括除法运算程序,所述除法运算程序包括以7为除数的运算程序P7,所述P7的运算程序包括如下步骤:
S1、向除法运算程序中输入被除数DI与除数D;
S2、识别所述除法运算程序中的被除数DI与除数D,并提取所述除法运算程序中除数D为7的数据,并转入S4;
S3、提取所述除法运算程序中被除数DI≥7的整数.并转入S4;
S4、经所述除法运算程序运算,被除数DI÷7=商Q,其中商Q=整数Z+余数R,整数Z由所述除法运算程序得到,余数R作为小数保存转入S5;
S5、余数R*142857经所述除法运算程序运算得到结果作为循环节X,并进行转入步骤S6;
S6、输出运算结果为Z.X;
S7、步骤S4中若R=0,即DI被7整除,输出运算结果为Z;若R≠0,则返回步骤S5中。
优选地,所述步骤S3中若DI<7,则所述P7运算程序包括如下步骤:
S8、将DI分为A类与B类,其中A类DI包括1、0.1、2、0.2、3、0.3、4、0.4、5、0.5、6、0.6中的任意值;B类DI包括非A类DI;
S9、处理A类DI时,DI*100=100DI,将100DI返回至步骤S4中,此时步骤S6输出的运算结果为Z.X/(100);
S10、处理B类DI时,首选识别并保存小数点点位数,再去掉小数点,将数值保存并返回至步骤S4中,此时步骤S6输出的运算结果Z.X中的小数点需要前移,小数点前移位数为B类DI小数点位数,即得到最终运算结果。
优选地,所述步骤S1中,除数D≠0,若除数=0,则转出错处理,若被除数DI=0,则直接转入步骤S6,输出结果商Q=0。
优选地,所述P7的运算程序由函数迭代算法与数字迭代算法构成。
优选地,所述余数R=x-d×q求得。
如果使md≈1,则m x即为商Q的近似值,此时构造迭代过程,过程如下:
A2、设x(0)=x,d(0)=d;
A3、迭代直至x(i)足够靠近q,迭代的伪代码如下:
loop i=0,1,2…
m(i)=2-d(i)
x(i+1)=m(i)x(i)
d(i+1)=m(i)d(i)
End loop
优选地,所述数字迭代算法中定义x=qd+rem,且|rem|<|d|ulp,且sign(rem)=sign(x),其中x是被除数,d是除数,q是商,ren是余数,ulp是除数d的最低有效位的权值,ulp以及q的取值遵循如下准则:
a如果ulp=1,则商q是整数;
b设r为操作数(x,d,q)的进制基(如二进制、十进制等),n为商q的有效数字位数,如果ulp=r-n,则商q是小数。
优选地,所述数字迭代算法由n次迭代实现,每次迭代产生一个商数字(一位或者多位,取决于迭代基r的值),其中高有效位在前,i次迭代后的商记作q[j+1],即得出由除法的定义,商的准确值为经过n次迭代后,求得的商的误差δq需满足如下的约束条件:显然,不仅仅是迭代结果需要满足此约束,迭代的中间步骤也需要满足类似的约束,以第(j+1)次迭代为例,设商q[j+1]的误差为δq[j+1],则第(j+1)次迭代的不同于最终的因为如果是不恢复余数的迭代算法,该式是可以取负值的,所以仅需满足绝对值不超过r-(j+1)即可,在式的两边同时乘以d,并引入一个新值部分余数,记为w[j+1],表示第j+1次迭代产生的部分余数,其中w的初始值w0=x,其中w[j+1]=rj+1(x-dq[j+1]),经过适当变换后可得w[j+1]=rw[j]-dqj+1,其中部分余数w[j+1]需满足-d≤w[j+1]<d,称为w[j+1]的有边界性,从而求商的过程转变为在第(j+1)迭代中。
优选地,所述数字迭代算法包括如下迭代步骤:
B1、输入w[j]并算术左移;
B2、得到rw[j]并进行商数字选择;
B3、得到qj+1并进行qj+1d生成;
B4、得到qj+1d并进行减运算,并输出w[j+1]
其中在步骤B1中算术左移能直接进入步骤B4中进行减运算;同时向步骤B2以及步骤B3中同时输入除数d。
与现有技术相比,本发明的有益效果是:
(1)该种关于“以7为除数的运算”的计算机快捷程序通过执行以7为除数的运算程序P7,使得在处理除法中除数为7的运算时,能够有效的提高计算机对除数7的数据处理速度,进而快速输出最终运算结果;
(2)通过在对除数7进行逻辑运算时,采用函数迭代算法以及数字迭代算法,有效的提高了最终输出值商的精度,进而满足大多数工程设计中对除法运算的高精度需求。
附图说明
图1为本发明运算程序流程图;
图2为本发明的数字迭代算法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1-2,本发明提供的实施例:
一种关于“以7为除数的运算”的计算机快捷程序,包括除法运算程序,其特征在于:所述除法运算程序包括以7为除数的运算程序P7,所述P7的运算程序包括如下步骤:
S1、向除法运算程序中输入被除数DI与除数D;
S2、识别所述除法运算程序中的被除数DI与除数D,并提取所述除法运算程序中除数D为7的数据,并转入S4;
S3、提取所述除法运算程序中被除数DI≥7的整数.并转入S4;
S4、经所述除法运算程序运算,被除数DI÷7=商Q,其中商Q=整数Z+余数R,整数Z由所述除法运算程序得到,余数R作为小数保存转入S5;
S5、余数R*142857经所述除法运算程序运算得到结果作为循环节X,并进行转入步骤S6;
S6、输出运算结果为Z.X;
S7、步骤S4中若R=0,即DI被7整除,输出运算结果为Z;若R≠0,则返回步骤S5中。
进一步的,所述步骤S3中若DI<7,则所述P7运算程序包括如下步骤:
S8、将DI分为A类与B类,其中A类DI包括1、0.1、2、0.2、3、0.3、4、0.4、5、0.5、6、0.6中的任意值;B类DI包括非A类DI;
S9、处理A类DI时,DI*100=100DI,将100DI返回至步骤S4中,此时步骤S6输出的运算结果为Z.X/(100);
S10、处理B类DI时,首选识别并保存小数点点位数,再去掉小数点,将数值保存并返回至步骤S4中,此时步骤S6输出的运算结果Z.X中的小数点需要前移,小数点前移位数为B类DI小数点位数,即得到最终运算结果,通过执行以7为除数的运算程序P7,使得在处理除法中除数为7的运算时,能够有效的提高计算机对除数7的数据处理速度,进而快速输出最终运算结果。
进一步的,所述步骤S1中,除数D≠0,若除数=0,则转出错处理,若被除数DI=0,则直接转入步骤S6,输出结果商Q=0。
进一步的,所述P7的运算程序由函数迭代算法与数字迭代算法构成,通过在对除数7进行逻辑运算时,采用函数迭代算法以及数字迭代算法,有效的提高了最终输出值商的精度,进而满足大多数工程设计中对除法运算的高精度需求。
进一步的,所述余数R=x-d×q求得。
如果使md≈1,则m x即为商Q的近似值,此时构造迭代过程,过程如下:
A2、设x(0)=x,d(0)=d;
A3、迭代直至x(i)足够靠近q,迭代的伪代码如下:
loop i=0,1,2…
m(i)=2-d(i)
x(i+1)=m(i)x(i)
d(i+1)=m(i)d(i)
End loop
进一步的,所述数字迭代算法中定义x=qd+rem,且|rem|<|d|ulp,且sign(rem)=sign(x),其中x是被除数,d是除数,q是商,ren是余数,ulp是除数d的最低有效位的权值,ulp以及q的取值遵循如下准则:
a如果ulp=1,则商q是整数;
b设r为操作数(x,d,q)的进制基(如二进制、十进制等),n为商q的有效数字位数,如果ulp=r-n,则商q是小数。
进一步的,所述数字迭代算法由n次迭代实现,每次迭代产生一个商数字(一位或者多位,取决于迭代基r的值),其中高有效位在前,i次迭代后的商记作q[j+1],即得出由除法的定义,商的准确值为经过n次迭代后,求得的商的误差δq需满足如下的约束条件:显然,不仅仅是迭代结果需要满足此约束,迭代的中间步骤也需要满足类似的约束,以第(j+1)次迭代为例,设商q[j+1]的误差为δq[j+1],则第(j+1)次迭代的不同于最终的因为如果是不恢复余数的迭代算法,该式是可以取负值的,所以仅需满足绝对值不超过r-(j+1)即可,在式的两边同时乘以d,并引入一个新值部分余数,记为w[j+1],表示第j+1次迭代产生的部分余数,其中w的初始值w0=x,其中w[j+1]=rj+1(x-dq[j+1]),经过适当变换后可得w[j+1]=rw[j]-dqj+1,其中部分余数w[j+1]需满足-d≤w[j+1]<d,称为w[j+1]的有边界性,从而求商的过程转变为在第(j+1)迭代中。
进一步的,如图2所示,所述数字迭代算法包括如下迭代步骤:
B1、输入w[j]并算术左移;
B2、得到rw[j]并进行商数字选择;
B3、得到qj+1并进行qj+1d生成;
B4、得到qj+1d并进行减运算,并输出w[j+1]
其中在步骤B1中算术左移能直接进入步骤B4中进行减运算;同时向步骤B2以及步骤B3中同时输入除数d。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨再将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
Claims (10)
1.一种关于“以7为除数的运算”的计算机快捷程序,包括除法运算程序,其特征在于:所述除法运算程序包括以7为除数的运算程序P7,所述P7的运算程序包括如下步骤:
S1、向除法运算程序中输入被除数DI与除数D;
S2、识别所述除法运算程序中的被除数DI与除数D,并提取所述除法运算程序中除数D为7的数据,并转入S4;
S3、提取所述除法运算程序中被除数DI≥7的整数.并转入S4;
S4、被除数DI÷7=商Q,商Q=整数Z+余数R,整数Z由所述除法运算程序得到,余数R作为小数保存转入S5;
S5、余数R×142857的结果作为循环节X,并转入步骤S6;
S6、输出运算结果为Z.X;
S7、步骤S4中若R=0,输出运算结果为Z;若R≠0,则返回步骤S5中。
2.根据权利要求1所述的一种关于“以7为除数的运算”的计算机快捷程序,其特征在于:所述步骤S3中若DI<7,则所述P7运算程序包括如下步骤:
S8、将DI分为A类与B类,其中A类DI包括1、0.1、2、0.2、3、0.3、4、0.4、5、0.5、6、0.6中的任意值;B类DI包括非A类DI;
S9、处理A类DI时,DI×100=100DI,将100DI返回至步骤S4中,所述步骤S6输出的运算结果为Z.X/(100);
S10、处理B类DI时,首选识别并保存小数点点位数,再去掉小数点,将数值保存并返回至步骤S4中,此时步骤S6输出的运算结果Z.X中的小数点需要前移,小数点前移位数为B类DI小数点位数,即得到最终运算结果。
3.根据权利要求1所述的一种关于“以7为除数的运算”的计算机快捷程序,其特征在于:所述步骤S1中,除数D≠0。
4.根据权利要求1所述的一种关于“以7为除数的运算”的计算机快捷程序,其特征在于:所述P7的运算程序由函数迭代算法与数字迭代算法构成。
6.根据权利要求5所述的一种关于“以7为除数的运算”的计算机快捷程序,其特征在于:所述余数R=x-d×q求得。
8.根据权利要求4所述的一种关于“以7为除数的运算”的计算机快捷程序,其特征在于:所述数字迭代算法中定义x=qd+rem,且|rem|<|d|ulp,且sign(rem)=sign(x),其中x是被除数,d是除数,q是商,ren是余数,ulp是除数d的最低有效位的权值,ulp以及q的取值遵循如下准则:
a如果ulp=1,则商q是整数;
b设r为操作数(x,d,q)的进制基(如二进制、十进制等),n为商q的有效数字位数,如果ulp=r-n,则商q是小数。
10.根据权利要求9所述的一种关于“以7为除数的运算”的计算机快捷程序,其特征在于:所述数字迭代算法包括如下迭代步骤:
B1、输入w[j]并算术左移;
B2、得到rw[j]并进行商数字选择;
B3、得到qj+1并进行qj+1d生成;
B4、得到qj+1d并进行减运算,并输出w[j+1]
其中在步骤B1中算术左移能直接进入步骤B4中进行减运算;同时向步骤B2以及步骤B3中同时输入除数d。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210551559.8A CN114895867A (zh) | 2022-05-18 | 2022-05-18 | 一种关于“以7为除数的运算”的计算机快捷程序 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210551559.8A CN114895867A (zh) | 2022-05-18 | 2022-05-18 | 一种关于“以7为除数的运算”的计算机快捷程序 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114895867A true CN114895867A (zh) | 2022-08-12 |
Family
ID=82724399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210551559.8A Pending CN114895867A (zh) | 2022-05-18 | 2022-05-18 | 一种关于“以7为除数的运算”的计算机快捷程序 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114895867A (zh) |
-
2022
- 2022-05-18 CN CN202210551559.8A patent/CN114895867A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3769208B1 (en) | Stochastic rounding logic | |
CA1332196C (en) | Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction | |
US11645042B2 (en) | Float division by constant integer | |
CN105930128B (zh) | 一种利用浮点数计算指令实现大整数乘法计算加速方法 | |
US6182100B1 (en) | Method and system for performing a logarithmic estimation within a data processing system | |
Ramya et al. | Low power single precision BCD floating–point Vedic multiplier | |
JP4273071B2 (ja) | 除算・開平演算器 | |
CN110825346B (zh) | 一种低逻辑复杂度的无符号近似乘法器 | |
TWI696947B (zh) | 乘積累加裝置及其方法 | |
CN114895867A (zh) | 一种关于“以7为除数的运算”的计算机快捷程序 | |
US20100023569A1 (en) | Method for computerized arithmetic operations | |
JP3417286B2 (ja) | 乗算器 | |
Iyer et al. | Generalised Algorithm for Multiplying Binary Numbers Via Vedic Mathematics | |
Chang et al. | Fixed-point computing element design for transcendental functions and primary operations in speech processing | |
Reddy et al. | A high speed, high Radix 32-bit Redundant parallel multiplier | |
Hsu et al. | FPGA Implementation of Floating Point Linear Programming | |
JP4192547B2 (ja) | 演算方法 | |
Goswami et al. | Design of a Stack Based Compressor for High Speed Computation | |
Aditya et al. | ASIC Implementation of Approximate Single Precision Floating Point Multiplier | |
CN116737108A (zh) | 一种除法运算方法及系统 | |
KUMAR et al. | A High Performance Radix10 Multiplication Architecture Based On Redundant BCD Codes | |
CN116762056A (zh) | 脉动阵列中的乘法器和加法器 | |
Jahangir et al. | Optimized Reversible Square Root Circuit | |
CN118192931A (zh) | 基于定点格式的复数近似取模方法及电路 | |
KAMIREDDY et al. | Realization of Modified Booth Re-Coder Based Add-Multiply Operator for Optimized Power Applications |
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 | ||
CB02 | Change of applicant information |
Address after: 050011 Shijiazhuang No.40 Middle School, No. 69 Jianshe South Street, Yuhua District, Shijiazhuang City, Hebei Province Applicant after: Zhang Weidong Address before: No. 50, Sizhong Road, Qiaoxi District, Shijiazhuang City, Hebei Province, 050019 Applicant before: Zhang Weidong |
|
CB02 | Change of applicant information |