便捷实用的数字电路计算器工具

数字电路计算器
下面介绍一种利用数字电路加法器,减法器,乘法器除法器,进行算术计算的计算器。这种计算器通过按键输入公式,经过数字电路的加法器,减法器,乘法器,除法器计算后得到计算结果,最后再将计算结果输出到数码管上面。该计算器首先通过晶振产生32768HZ的谐振方波信号,再经过分频电路将这个方波信号的频率降低为100HZ,,即周期为0.01秒,再将这个100HZ的信号接入到按键的公共端,按键共有60个,它们的一端接到一起,另外一端分别接到倍频器上。相当于这些按键并联在一起,当某个按键被按下时,100HZ的信号就会接入到倍频器上,经过倍频后,频率变为1HZ。为什么按键上面的频率是100HZ,这是因为100HZ的频率,周期是1毫秒,通常使用者按下按键的时间在1毫秒左右,所以,只有这个频率的信号才会在按下按键时输入到后级电路中。键值计算电路由十进制转二进制电路组成,当有数字键按下时,对应的数字按键输出端输出对应的数值。数值按键的输出端接上或门,或门两两相接,最后输出一个或门,当有任何计算符号按键按下时,或门输出高电平,或门后面接上计数器,计数器记录按键按下的次数,当有按键按下时,计数器将对应的次数输入到加法器,加法器给键值乘以10,100,1000,等倍数。当连续按2次按键时,需要用乘法器给键值乘以10,连续按下3次按键时,需要用乘法器给键值乘以100,依次类推。所有数值按键的输出端连接到一起,输出到计算符号电路,进行计算。
电路图下载网址:
数字电路计算器
链接:https://pan.baidu.com/s/14YTx3SP3dH7aLmwFYIhKXg?pwd=12h9
提取码:12h9

链接:https://pan.baidu.com/s/19SY8ka4Imz4q2_5huDQcMA?pwd=81s7
提取码:81s7

数字电路计算器下载地址:https://share.weiyun.com/Vr9z78sb

https://115.com/s/sw6zzp636zv?password=ha14#
数字电路计算器
访问码:ha14

「数字电路计算器」https://www.aliyundrive.com/s/ByFESWzXyv6
https://kdocs.cn/join/ge5wqfb?f=101

计算符号编码电路产生对应计算符号的编码,输送给计算符号按键电路。用计算符号按键输入计算符号±×÷,cos,sin,ln,log,等,计算符号按键的输出端接上或门,或门两两相接,最后输出一个或门,当有任何计算符号按键按下时,或门输出高电平,或门后面接上计数器,计数器记录按键按下的次数,当有按键按下时,计数器将对应的次数输入到加法器,加法器将对应计算符号接入数值电路,进行计算。每个计算符号按键的后面接上一个或非门,再加上一个与门,最后它们两两之间接上或门,最后一级是一个或门。这个或门输出刚刚按下的计算符号的编码到计算电路,当按下一次计算符号按键时,进行一次计算,输入到存储器,存储器在将数值和上面最近一次按下的计算符号编码输入到计算电路进行计算,
每一个计算符号按键对应一个计算电路,分别有开方电路,开立方电路,sinx计算电路,ln计算电路等等。当按下一个计算符号按键时,数据进行对应的计算电路进行计算,例如,按下lncosx计算按键时,从键盘输入的数字进入lncosx计算电路进行计算,并输出到数码管显示。开方计算电路通过对应的牛顿迭代法公式对数据进行开方计算,sinx,cosx,tanx,cotx等计算电路通过泰勒展开公式进行计算,lnx,立方n次方计算通过泰勒展开公式进行计算。lncosx通过《古今算学丛书假数测圆》里面的公式进行计算。上面各种计算公式通过数字电路加法器,减法器,乘法器,除法器按公式连接起来进行计算。

([{)]}等按键通过非门,与门判断电路,将使电路先计算其里面的数值,在计算其外面的数值。最后电路通过=按键输出高电平控制输出计算结果到数码管编码器,驱动数码管输出计算结果。电路中的加法器,减法器,乘法器,除法器都采用串行加法器,减法器,除法器,乘法器等。
按键扫描电路
当有按键按下时RS触发器Q输出1,Q输出0,按下清零键以后,RS触发器Q端输出0,Q 端输出0。
当RS触发器的输入端R,S都是1时,触发器保持输出端没有变化。利用这个特点,当按键输入高电平1时,电路输出高电平1给存储器,当按键断开输入低电平0时,RS触发器仍然给存储器输入1,当清零键按下时,RS触发器的S端输入0,触发器给存储器输入0,存储器清零。

计算码生成电路
当数字键1,按下时,这个与门输出0000001给后面计算电路,所有按键存储器后面两两之间接上或门,或门后面再接上或门,最后接上计数器。当按键按下时,计数器变为1,对应的存储器输出对应键值。当按键按下第二次时,计数器输出2,输出两位数字,当按键按下第三次时,计数器输出3,输出三位数字。
当有按键按下时,计数器输出高电平,后级的与门输出键值00000001,第一次按下键值,通过与门输出键值,二进制数字发生器,产生脉冲00001010,相当于十进制数字10,即给键值乘以10倍,因为第二次按下按键时,需要给键值乘以10。脉冲发生器,产生脉冲01100100,相当于十进制数字100,即给键值乘以100倍,因为第三次按下按键时,需要给键值乘以100。脉冲发生器,产生脉冲1111101000,相当于数字1000,即给键值乘以1000倍,因为第四次按下按键时,需要给键值乘以1000。脉冲发生器,产生脉冲1111101000,相当于数字1000,二进制数字发生器,产生脉冲00001010,相当于十进制数字10,即给键值乘以10000倍,因为第五次按下按键时,需要给键值乘以10000。脉冲发生器,产生脉冲1111101000,相当于数字1000,脉冲发生器,产生脉冲01100100,相当于十进制数字100,即给键值乘以100000倍,因为第六次按下按键时,需要给键值乘以100000。脉冲发生器,产生脉冲1111101000,相当于数字1000,脉冲发生器,产生脉冲1111101000,相当于数字1000,即给键值乘以1000000倍,因为第七次按下按键时,需要给键值乘以1000000。二进制数字发生器,产生脉冲00001010,相当于十进制数字10,脉冲发生器,产生脉冲1111101000,相当于数字1000,脉冲发生器,产生脉冲1111101000,相当于数字1000,即给键值乘以100000000倍,因为第八次按下按键时,需要给键值乘以100000000。脉冲发生器,产生脉冲1111101000,相当于数字1000,脉冲发生器,产生脉冲1111101000,相当于数字1000,脉冲发生器,产生脉冲1111101000,相当于数字1000,即给键值乘以1000000000倍,因为第九次按下按键时,需要给键值乘以1000000000。
当有符号按键按下时,按键计数器清零,记录按键次数为零,只有当字符按键按下时,异或门输出0,与门输出0,计数器清零。当没有按键按下时,有数字键按下时,异或门输出1,与门输出1。

计算器的总电路图如下:

第一部分 计算整数次方根
下面的电路可参见《数字工程》[美]G.K.科斯托普洛斯著,王玉龙,蔡勇译,张其善校,人民邮电出版社1981年出版。
附录A,计算整数次方根的一般方法的详细推导。
不论是哪一种数制中的数,其n次方根都可以通过每次只计算出一位当根的方法来确定。设R是数K的n次方根,其中n为整数,R可表示为:
R=r r …r r r …r (A*1)
im im-1 i1 f1 f2 fj
式中,R的整数部分分为m位,小数部分分为j位,等式(A1)也可表示为:
m-1
R=(r r …r r r …r )Q (A2)
im im-1 i1 f1 f2 fj
式中,Q是数制的基数,r 为非零数。取R的n次幂,则由式(A2)可得:
im
n n (m-1)n
R =(r r …r r r …r ) *Q (A3)
im im-1 i1 f1 f2 fj
n
用字母h表示R 整数部分的位数,当括号里的数为最小时,k为最小。
这就是r 等于1,其余各r位都等于0时的情况,如下式所示:
im

(r r …r r r …r ) =(1.0…0)=1(1位最小) (A4)
im im-1 i1 f1 f2 fj

因此,k的最小值为式(A3)中基数Q的指数加1,即:
(m-1)n+1≤k (A5)
同样,当式(A3)括号里的数为最大时,k为最大。这就所有r位都等于Q-1时的情况,其中Q-1是Q数制中的最大数值。
n n n
(r r …r r r …r ) =(Q-1.Q-1 Q-1 …Q-1) =(10-0.00…1) (十进制)
im im-1 i1 f1 f2 fj max (A6)
如果括号里的数仅是10,则取幂结果将为n+1位数:
n n n n n
10 =(1.0
Q) =(1.0) Q =Q (n+1位整数)

                n                             n

因为括号里的数是10 的最邻近的偏低近似值,而10 是n+1位*整数的最小数,所以n应等于式(A6)中蒸熟的位数。*注:原文为n,疑错改为n+1,译者 .
因此,k的最大值为式(A3)中基数Q的指数(m-1)*n加n,即:
k≤(m-1)n+n 或k≤mn (A7)
由式(A5)和(A7)则得:
(m-1)n+1≤k≤mn (A8)
由式(A8)可知,当m增加1时,k的范围就增加n,也就是说,m的每一个单位对应于k的n个单位。
n
这表明R的每一位整数对应于K的n位数,即K=R 。换句话说,数K的每n位对应其n次方根中的一位,即
n
K =R
设K为一个要算n次方根的数,并没有得之方根为:

R=r r …r r (A9)
m m-1 2 1
也就是说一个数的方根等于这个数的的里面的一段数的方根的和, 为了简化计算方根的一般方法的推导过程,先只考虑方根的整数部分。
n-1 m-1
式(A9)中,r 位的权为Q ,其所表示的一个完整数为r Q ,
m m
m-1
其中Q 表示r 位和小数点之间有m-1个零。
m

根位r 必须是一个使下列差值为最小的正值:
m
m-1 n
K=(r r Q ) (A10)
m m-1

同样,根位r 必须是一个使下列差值为最小的正值:
1
n
K=(r r …Q ) (A11)
m m-1 1

以此类推,根位r 必须是一个使下列差值为最小值的正值:
1
n
K=(r r …r ) (A12)
m m-1 1
式(A11)可写为:
m-1 n m-1 n m-2 n
K-(r Q ) +(r Q ) -(r r Q )
m m m m-1

       m-1  n                m-2   n           m-1   n                                          

=[K-(r Q ) ]-[(r r Q ) -(r Q ) ]
m m m-1 m
m-1 n m-1 m-2 n m-1 n
=[K-(r Q ) ]-[r Q +r Q ) -(r Q ) ]
m m m-1 m

                             n           n     

即为:[前面运算之差]-[(部分根+新位) -(部分根) ], 一个数的整数根等于这个数的部分根的和, 其中每一个新位必须使差值进一步减小。若用M表示上述减法中的被减数,用S表示减数,则S表示式为:
m-1 n
S (对 r )=(r Q ) (M =K)
m m m m

                    m-2  n          m-1   n                                                            

S (对r )=(r r Q ) -(r Q ) (M =M -S )
m-1 m-1 m m-1 m m-1 m m

                             n                      n                                             

S (对r )=(r r …r ) -[(r r …r )Q] (M =M -S )
1 1 m m-1 1 m m-1 2 1 2 2
S和M的一般表示式为:
m-(t+2) n m-(t+1) n
S =[(r r …r r Q ] -[(r r …r )Q ]
m-(t+1) m m-1 m-1 m-(t+1) m m-1 m-i

(M =M -S )
m-(t+1) m-t m-t
计算方根的一般方法的流程图如图A1所示。

图A1计算方根的一般方法的流程图。(注:r是使M-S的差为最小的非负数。)使正被计算的根有效位规格化,S表示式变为:
n n
S =[(r r …r )Q+r ] -[(r r …r )Q]
m-(t+1) m m-1 m-I m-(t+1) m m-1 m-i
设已算得的部分根r r …r =R,并设r为新的根位,则得:
m m-1 m-i
n n
S=[QR+r] -[QR] (A14)
因为每次迭代中只有n个附加数位参加计算,所以上述算法可表示为如图A2所示。

若要计算平方根,则S表示式中的n应分别取2和3,如下所示:
2 2
S(求平方根)=(QR+r) -(QR)

                  2          2      2                          
            =(QR)    +2QRr+r    -(QR)    
                 
                    2       
            =2QRr+r     
            =(2QR+r)r                    (A15)
                 3       3             

S(求立方根)=(QR+r) -(QR)

        3        2        2    3      3                       
   =(QR)   +3(QR)   r+3QRr   +r    -(QR)  

          3        2     3                        
   =3(QR)    r+3QRr    +r      

                3       
   =3QRr(QR+r)+r  

          2          

=[3QR(QR+r)+r ]r (A16)
若要计算十进制数的方根,则S表示式中的Q应取10.因此,计算十进制数平方根S表示式为:
S=(20R+r)r (A17)
图A3表示了计算十进制数平方根的流程图,若要计算立方根,则S表示式为:
2
S=[30R(10R+r)+r ]r
图A4表示了计算十进制数立方根的流程图。同样,若要计算二进制数的方根,则S表示式中的Q应取2,因此,计算二进制数平方根的S表示式为:
S=(AR+r)r
用A5表示了计算二进制数平方根的流程图。若要计算立方根,则S表示式为:
2
S=[6R(2R+r)+r ]r
图A6表示了计算二进制数立方根的流程图。

例如:计算√1426,
1.先计算√14,得到14的开方是3.74165738677,
2.所以最高位是3,
3.14减去33等于5,把它写在第二段数26的右边得到526,
4.用3
20得到60,再用60除526,所得的最大整数8,
5.用320得到60,用60加上8等于68,再用688得到544,(203+8)8=544,
6.因为544>526,所以将8变为7,(20
3+7)7=469,
7.1426开方得到37,√1426=37.762415177
求一个数的立方根的运算方法,叫做开立方。最早在我国的《九章算术》少广篇里有对开立方的记载。
1.将被开立方数的整数部分从个位起向左每三位分为一组。
2.根据最左边一组,求得立方根的最高位数。
3.用第一组减去立方根最高位数的立方,在其右边写上第二组数。
4.用求得的最高位数的平方的300倍试除上述余数,得出试商;并把求得的最高位数的平方的300倍与试商的积、求得的最高位数的30倍与试商的平方的积和试商的立方写在竖式左边,
5.用同样方法继续进行下去。
一、开根号方法
1.数m开n次方,n位一节为一根,前根均作a,a后需求的根均作b;前根a的位数不断增长,后根b永远做一位根视,直至开尽或开至所需要的位数。
2.首位a根用1~9n方块直接确定(随后就无a根系列的事了;或用双根或多位根作a;即将约小于被开数的乘方数的幂底整数值作为a根,再求b=x),b根用“标准固律方程式”或“简易求b方程式”求。
二、快速开根
从个位起向左每隔两位为一节,若带有小数从小数点起向右每隔两位一节,用逗号分开求不大于左边第一节数的完全平方数为商,再从左边第一节数里减去求得的商,在它们的差的右边写上第二节作为第一个余数再把商乘以20,试除第一个余数,所得的最大整数作试商用商乘以20加上试商在乘以试商。如果所得的积小于或等于余数,就把这个试商写在商后面,作为新商;如果所得的积大于余数,就把试商就、逐次减小再试,直到积小于或等于余数为止;用同样的方法,继续求。
求立方根的步骤
1.从个位向左每3位数分一节。最左一节可能是3位、2位也可能是1位数。分出几节说明立方根就有几位数。
2.求出最高(左边第一)节位立方根(整数),余数连接下一节3位数作为下一组的被除数,
3.用求出的立方根的2次方
300后试除被除数,能商几就用前面立方根的平方
300商+前面立方根-30-商的平方+商的立方。(注:一般实际商会比试商少1,因为在试商的情况下还要+新商的立方),这个商就是所求立方根的第2位数。
4.同上:将第二次的余数连接下一节3位数作为新的被除数。
5.将前面已有两位数组成的立方根的平方
300后试除新的被除数,能商几就用前两位立方根的平方300商+前两位立方根-30-商的平方+商的立方。
这个商就是所求立方根的第3位数。
6.反复采用上述计算方法,直到余数是0为止。通过试商,如果发现商大于或商小于就减小或增大数字就行了。
总之求出的立方根必须与题目相符。
例1:求17576的立方根
解:分节:17`576,说明立方根有2位数,17的立方根(整数部分)是2,
222=8,17-8=9,9000+576=9576,
2的平方300=1200,9576/1200最多商7,7-1=6(试商),
2
23006+23066+666=9576,9576-9576=0,20+6=26,
17576的立方根是26
例2:求13144256的立方根
解:分节:13`144`256
说明立方根有3位数,13的立方根(整数部分)是2,
2
22=8,13-8=5,5000+144=5144,
2的平方
300-1200,5144/1200最多商4,4-1=3(试商),
223003+23033+333=4167,5144-4167=977,977000+256=977256,2323300=158700,
13144256的立方根是236,
使用牛顿迭代法计算立方,开方
设A=X^3,求X,称为开立方。开立方有一个标准的公式:
X(n+1)=Xn+(A/X^2-Xn)/3(n,n+1是下角标)
例如,A=5,k=3,即求5介于1的3次方至2的3次方之间(1的3次方=1,2的3次方=8),
初始值X0可以取1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,都可以。例如我们取X0=1.9按照公式:
第一步:X1=1.9+(5/1.9^2-1.9)/3=1.7,
即5/191.9=1.3850416,1.3850416-1.9=-0.5149584,-0.51495841/3=-0.1716528,1.9+(-0.1716528)=1.7。即取2位数值,即1.7.
第二步:X2=1.7+(5/1.7^2-1.7)/3=1.71,
即5/171.7=1.73010,1.73-1.7=0.03,0.031/3=0.01,1.7+0.01=1.71.取3位数,比前面多取一位数。
第三步:X3=1.71+(5/1.71^2-1.71)/3=1.709,
第四步:X4=1.709+(5/1.709^2-1.709)/3=1.7099,
这种方法可以自动调节,第一步与第三步取值偏大,但是计算出来以后输出值自动转小;
第二步,第四步输入值偏小,输出值自动转大。即5=1.70993。当然初始值X0也可以取1.1,1.2,1.3,…1.8,1.9中的任何一个,都是X1=1.7>.当然,我们在实际中初始值最好采用中间值,即1.5.1.5+(5/1.52-1.5)1/3=1.7。
如果用这个公式开平方,只需将3改成2,2改成1.即
X(n+1)=Xn+(A/X-Xn)/2(n,n+1是下角标)
例如,A=5;5介于2的平方至3的平方之间。我们取初始值2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9都可以,我们最好取中间值2.5.
第一步:2.5+(5/2.5-2.5)/2=2.2;
即5/2.5=2,2-2.5=-0.5,-0.51/2=-0.25,2.5+(-0.25)=2.25,取2位数2.2。
第二步:2.2+(5/2.2-2.2)/2=2.23;
即5/2.2=2.272,2.272-2.2=-0.072,-0.072
1/2=-0.036,2.2+0.036=2.23.取3位数。
第三步:2.23+(5/2.23-2.23)/2=2.236。
即5/2.23=2.242,2.242-2.23=0.012,0.012*1/2=0.006,2.23+0.006=2.236,
每一步多取一位数。这个方法又叫反馈开方,即使你输入一个错误的数值,也没有关系,输出值会自动调节,接近准确值。关于这个方法的说明,1982年王晓明利用牛顿二项式推出这个公式,找到江西师范大学,一位教授觉得面熟,当场又推演一遍,与牛顿切线法一样。辽宁鞍山的傅钟鹏在他的《数学雅典娜》一书中介绍,天津新蕾出版社。由于是牛顿的公式,作者王晓明不敢贪天之功。所以傅种鹏老师在文章介绍也明确说明是由牛顿切线法推出。
下面的电路通过上面的公式实现计算开立方的功能

牛顿法:在实数域和复数域上近似求解方程的方法
也就是:△y/△x近似于y,举个例子:利用牛顿进行数字的开方处理, 2 定义需要的方程:y=x , x y △y=a-y y=2x △x=△y/y`
1 1 1 2 0.5
1.5 2.25 -0.25 3 -0.083
1.4167 2 0 2.8267 0
随着迭代更新x值的次数增多,所得达到的x值也就越接近答案。按照上述的推导过程,我们可以推导出牛顿法的表达式:
2
(a-x )
△x=
2x
到此牛顿法的主要公式就推导出来了,使用程序目的就是对x的值进行迭代更新。实现的代码为:
def sqrt(a);
x=1
for_in range(5);
x=(axx)/(2*x)
return x
获取1-10的每个数字的平方根为:
sqrt(1)=1.0
sqrt(2)=1.414213562373095
sqrt(3)=1.7320508075688772
sqrt(4)=2.0000000000002
例如,计算√17

    3             3                         

已知2.5 =15.625,2.6 =17.576

    3     

所以设: √17=n,15.625<n<17.576,可设√16<n<17.64,

     3               3                                    

已知:2.5 =15.625,2.58 =17.1735

   3             

设:n= √17

 3           3                                         

n =(15.625+a) =15.625+3*15.625 *a

       3       2                                                                      

17.1735=2.5 +32.5 a=15.625+36.25a
17.1735=15.625+18.75a,a=1.5485/18.75=0.08259,
3
因此,n≈2.5+0.08259=2.58259,验算: √17=2.5712816,绝对误差=0.01131,
可以将2.5变为2.6,代入重新计算
3 2
17.1735=2.5 +32.6 a=15.625+36.76a
17.1735=15.625+20.28a,a=1.5485/20.28=0.076356,因此,n≈2.5+0.076356=2.576356。

牛顿迭代公式
f(x)
X =X –
n+1 n f`(x)
先来一段代码, 求9平方根java实现,
double t=9;
whil (Match.abs(t-9.0/t
t=(9.0/t+t)/2.
System.out.println(t);}
运行结果3.00009155413138, 牛顿法最初由艾萨克牛顿在《流数法》(Method of Fluxions,1671年完成,在牛顿去世后于1736年公开发表)中提出。约瑟夫鲍易也曾于1690年在Analysis Aequationum中提出此方法。

求导
首先,我们知道要对那个数开方,比如现在我们要求出√9,
2
那么可以写出x -9=0,这一步我想应该没有人看不懂。
2
f(x)=x -9
切线,然后画出它的二维图形,并作出点(9,f(9))处的切线,切线方程可以表示为,
y-f(9)=f(9)*(x-9),切线方程, y-f(9) x= +9 f(9)
当y=0时,我们求到了x=6,

我们的目标√9的解为3,切线与x轴的交点为5,显然不是答案,我们还得继续做点(5,f(5))的切线,再切,

y-f(5)=f(5)*(x-5),切线方程, y-f(5) x= +5 f(5)

 16

x= +5
10
同样,当y=0时,x=3…还得继续,继续切,已经很接近了,就不继续切线了

         f(x   )          
            1   

x =x = +5
2 1 f(x ) 2 回顾一下, f(x)=x -a, f(x)=2x,
y-f(x )
n
x = +x
n+1 f`(x ) n
n

当y=0时,
f(x )
n
x = +x
n+1 f(x ) n n 化简一下 2 x -a n x = +x n+1 2x n n 最后得到 a x =( +x )/2 n+1 x n n 以上就是牛顿迭代法求平方根的过程了, 写成java代码就是上面的样子, 总结一下: 1.f(x)求导 2.作k=f(x)切线,
3.求出y=0时的x的值,赋值x
1
4.作k=f(x )切线 1 5.求出y=0时的x 的值,赋值x 1 2 6.作k=f(x )切线
2
7.重复上面的计算过程
牛顿迭代法(Newtons method)又称牛顿-拉夫逊(拉佛森)方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。 示例1:求解平方根 先来看如何用牛顿迭代法求解5的平方根。在计算器上的结果是2.236067..., 问题可以看作解方程x =5,下面尝试用牛顿迭代法求解。 2 首先令f(x)=x -5=0,这是标准步骤,取得一个新函数,令该函数为0.这是一个抛物线: 2 抛物线与x轴的交点x就是方程的解,它比2稍大一点。现在在x=2处对f(x)作切线。 f(x)的切线与x轴的交点,x =2,y =x -5=-1,设k是切线的斜率, 0 0 2 在x 处做f(x)的切线,重复上面步骤, 1 这就是牛顿迭代法的公式。通过作图可以看出,每一次迭代,x都将更靠近最终解。f(x)=2x,将公式代入目标方程f(x)=x -5. 已经相当接近计算器的结果。
2
示例2:2cosx=3x
解方程2cos=3x, 由图像可知,方程存在唯一解。
f(x)=2cosx-3x=0,f(x)=-2sinx-3,x =π/6≈0.52 0 f(x ) n 2cos(π/6)-3*π/6 2*0.866-π/2 x = +x = +π/6= +π/6 n+1 f(x ) n -2sin(π/6) -1
n

=π/3-2*0.866=0.1804≈0

注意事项:
牛顿迭代法几乎可以求解所以方程,但它仍然有一些限制。通过前两个例子可以看到,在使用牛顿迭代法时,需要选取一个较为解接近真实解的x0作为迭代基数,x0如何选取呢,一句参考是:“f”不能太小,f不能太大,x0要在x附近,这似乎要凭经验和感觉了,没有什么太好的办法。实际上,如果x0和x的差距过大,可能会得到一个没谱的解。设第n次迭代的误差是En=│x-xn│,那么需要满足En+1<En。如果选择和计算都正确,误差缩小的速度将非常快。以计算5的平方根为例,如果选择x0=2,结果将偏向于-2.236067…;如果选择x0=0,则f`(0)=0,没法继续迭代,函数曲线如下图所示:
代码示例:牛顿迭代法开平方, 设x2=a,则f(x)=x2-a,根据牛顿迭代法公式:
const float EPS=0.00001;
double sqrt(double x){
if(x==0)
return 0;
double result=x;
double lastValue;
do{
lastValue=result;
result=result/2.0f+x/2.0f/result;
}while(abs(result-lastValue)>EPS);
return(double)result:}
上面方法开平方会很快,但http://www.2cto,com.kf/201206/137256.html中提到了一个更快的方法
例如,求√5
1.当x=2时,切线方程为
5
( +2 )/2=2.25
2
2.当x=2.25时,切线方程为
5
( +2.25 )/2=2.23611
2.25
3.当x=2.23611时,切线方程为
5
( +2.23611 )/2=2.2360
2.23611
4.这样就得到√5=2.2360
因为,
3
f(x)=x -a

   2         

f`(x)=3x

    y-f(x   )
        n

x = +x
n+1 f`(x ) n
n
当y=0时,

    f(x   )
        n

x = +x
n+1 f`(x ) n
n
化简一下
3
x -a
n
x = +x
n+1 2 n
3x
n

      3

例如,求 √5
1.当x=1时,切线方程为
5-1
+1=1.333
3
2.当x=1.333时,切线方程为
3
5-1.3333
+1.333=1.82636
2
31.3333
3.当x=1.82636时,切线方程为
3
5-1.82636
+1.82636=1.7172349
2
3
1.82636
4.当x=1.7172349时,切线方程为
3
5-1.7172349
+1.7172349=1.7100
2
31.7172349
5.当x=1.7100时,切线方程为
3
5-1.7100
+1.7100=1.709
2
3
1.7100
3
4.这样就得到 √5=1.709
同理可证:
n
f(x)=x -a

  n-1      

f`(x)=nx

    y-f(x   )
        n

x = +x
n+1 f`(x ) n
n
当y=0时,

    f(x   )
        n

x = +x
n+1 f`(x ) n
n
化简一下
n
x -a
n
x = +x
n+1 n-1 n
nx
n
11
例如,求 √5
1.当x=1时,切线方程为
5-1
+1=1.3636
11
2.当x=1.3636时,切线方程为
11
5-1.3636 25.3079
+1.3636=- +1.3636=1.260087
10 244.4908502
11*1.3636
3.当x=1.260087时,切线方程为

           11    
   5-1.260087            7.717619933      
        +1.4671=-             +1.3636=1.19057    
            10           111.0191751
   11*1.260087    

4.当x=1.190579时,切线方程为
11
5-1.19057 1.81246
+1.190579=- +1.190579=1.16177
10 62.94221
111.19057
5.当x=1.16177时,切线方程为
11
5-1.16177 0.203813627
+1.16177=- +1.16177=1.1576
10 49.27132729
11
1.16177

         11             

6.这样就得到 √5=1.1576
第二部分 泰勒展开数字计算电路
可参见高等教育出版社菲赫金哥尔茨著1953年版《微积分教程》第一卷第一分册,
3 5 7 2m
a a a m-1 a 2m
sina=a- + – -…+(-1) +o(a ) (a→0)
3! 5! 7! (2m)!

        2        4        6               2m
       a        a       a           m   a          2m+1

cosa=1- + – -…+(-1) +o(a ) (a→0)
2! 4! 6! (2m)!

        3        5        7               2m-1
       a        a       a           m-1  a          2m

arc tg a=a- + – -…+(-1) +o(a ) (a→0)
3 5 7 2m-1

详细推导见初等函数的展开
3 5 7 2k-1
x x x x
sh x=x+ + + +…+
3! 5! 7! (2k-1)!

        2        4        6          2k
       x        x       x          x       

ch x=1+ + + +…+
2! 4! 6! (2k)!
推导过程参见399.根式的计算
m m(m-1) 2 m(m-1)…(m-n+1) n 2n
(1+x) =1+mx+ x +…+ x +o(x )
12 12…n

 x         x(x-1)    2     x(x-1)...(x-n+1)   n       2n

(1+a) =1+ax+ a +…+ a +o(x )
12 12…n
√2的近似值1.4可以通过下面的方法得到

 1/2       (1/2)*(1/2-1)      m(m-1)...(m-n+1)   n       

(1+1) =1+1/2+ +…+ x +…≈1.5-0.08333≈1.4166
12 12…n
推导过程参见398…对数的计算
n+1 2 1 1 1 1
ln =ln (n+1)-ln n= [1+ * 2 + * 4 +…]
n 2n+1 3 (2n+1) 5 (2n+1)
当n=1时,得到ln 2的展开式:
2 1 1 1 1 1 1 1 1
ln 2= (1 + * + * 2 + * 3 + * 4
3 3 9 5 9 7 9 9 9

           1      1        1       1       1       1      1       1                   
        +     *    5   +      *      6  +      *    7 +      *     8  +…)
           11     9       13       9      15      9      17      9      

我们还知道
2 3 4 n
x x x x n
ln (1+x)=x- + + +…+(-1) +o(x )
2 3 4 n

                         1         2    1         3             3                       

ln cos x=ln[1+(cos x-1)]=(cos x-1)- (cos x-1) + (cos x-1) +o((cos x-1) )
2 3

                         1         2    1         3     6                    

ln cos x=ln[1+(cos x-1)]=(cos x-1)- (cos x-1) + (cos x-1) o(x )
2 3

        2        4        6               2m
       x        x       x           m   x          7

cosx=1- + – -…+(-1) +o(x )
2! 4! 6! (2m)!
所以,
2 4 6 4 8 6
x x x 1 x x 1 x 6
ln cos x=(- + – ) – ( – )+ (- )+ o(x )
2 24 720 2 4 24 3 8
或在化简后
2 4 6
x x x 7
lncosx=- – – +o(x )
2 12 45
3 5 2m-1
2!! x 4!!x m-1 (2m-2)!! x 2m
arc sin x=x- + -…+(-1) +o(x )
3!! 5!! (2m-1)!!
注;5!!=135,6!!=246
2 n
x x x x n
e =1+ + + +o(x )
1! 2! n!

sinx 1 2 1 6 3
e =1+sinx+ sin x+ sin x +o(sin x)
2 6

sinx 1 2 1 6 3
e =1+sinx+ sin x+ sin x +o(x )
2 6
详细内容参见《大学丛书微积分学》,根据泰勒展开
3 5 7 2n-1
x x x n-1 a 2n
arc tg x=x- + – -…+(-1) +o(a ) (a→0)
3 5 7 2n-1

m         m(m-1)    2     m(m-1)...(m-n+1)   n     2n

(1+x) =1+mx+ x +…+ x +o(x )
12 12…n
特别情形,例如在n=2及m=-1,1/2,-1/2时,就有
1 2 2
=1-x+x +o(x )
1+x

            1        1    2     2                          
 1+x  =1+       x-       x   +o(x   )
            2        8  

1           1        3    2     2                          
      =1-       x+       x   +o(x   )
 1+x        2        8  


        2      3               n            
       x      x         n-1   x          n

ln(1+x)=x- + -…+(-1) +o(x )
2 3 n
根据戴劳公式(120a)
3
x 4
tg x=x+ +o(x ) 或or
3

        3       5       7                2m-1           
      2x      4x      6x         m  (2m)x          n

tg x=x+ – + -…+(-1) +o(x ) (-π/2<x<π/2)
3 5 7 2m-1
例如:
tg π/4=1,
3
0.785339
tg 0.785339=0.785339+ =1.0928
3
tg π/4=1,
3 5 7
20.785339 40.785339 6*0.785339
tg 0.785339=0.785339+ – +
3 5 7
根据泰勒展开,
2 4 6 2m
a a a m a 2m+1
cosa=1- + – -…+(-1) +o(a )
2! 4! 6! (2m)!
所以,

                 2        4        6               2m
                a        a       a           m   a          2m+1

f(x)=-lncosa+C=-ln[1- + – -…+(-1) +o(a ) ]+C
2! 4! 6! (2m)!
可参见高等教育出版社菲赫金哥尔茨著1953年版《微积分教程》第一卷第一分册,
6
9)写出函数ln cos x的展开式至x 的项。根据5)
1 2 1 3 3
ln cos x=ln[1+(cos x-1)]=(cos x-1)- (cos x-1) + (cos x-1) +o((cos x-1) )
2 3

                         1         2    1         3     6                    

ln cos x=ln[1+(cos x-1)]=(cos x-1)- (cos x-1) + (cos x-1) o(x )
2 3
上式中

        2        3              4                     5        
       (1-N)     (1-N)     2     (1-N)    2     3      (1-N)    2     3     4    

lnN=[(1-N)+ + + +
2 2 3 2 3 4 2 3 4 5
n
(1-N) 2 3 4 n-1
+…+ … ]
2 3 4 5 n
上式中,N<1
当N>1时,
m
lgN=m-[(1-N/10 )+

   m   2       m   3               m  4                  m   5       

(1-N/10 ) (1-N/10 ) 2 (1-N/10 ) 2 3 (1-N/10 ) 2 3 4

  •                +                      +                     
    

    2 2 3 2 3 4 2 3 4 5
    m n
    (1-N/10 ) 2 3 4 n-1
    +…+ … ]
    2 3 4 5 n
    m
    上式中,N/10 <1,根据泰勒展开,
    2 3 n
    x x n-1 x n
    ln(1+x)=x- + -…+(-1) +o(x )
    2 3 n
    所以,
    1 2 1 3 3
    ln sex x=ln[1+(sex x-1)]=(secx-1)- (sec x-1) + (sec x-1) +o((sec x-1) )
    2 3

                          1         2    1         3     6                    
    
  • ln sec x=ln[1+(sec x-1)]=(sec x-1)- (sec x-1) + (sec x-1) +o(x )
    2 3
    所以,
    1 2 1 3 3
    f(x)=lnseca+C=(sec a-1)- (sec x-1) + (sec x-1) +o((sec x-1) )
    2 3

                     1         2    1          3     6                    
    

    f(x)=lnseca+C=(sec a-1)- (sec x-1) + (sec x-1) +o(x )
    2 3
    推导过程可参见1934年商务印书馆出版《大学丛书高等算学分析》,熊庆来著,
    推导过程参见《微积概要》国立中山大学学院院长何衍睿,李铭槃,苗文绥,合编,1935年版,商务印书馆出版, 因为,
    m m(m-1) 2 m(m-1)…(m-n+1) n 2n
    (1+x) =1+mx+ x +…+ x +o(x )
    12 12…n
    2
    所以,当x =-x ,m=-1/2时,有
    1 1 2 13 4 13*…(2n-1) 2n 2n+2
    =1+ x + x +…+ x +o(x )
    2 2 24 24*…2n
    1-x

    两边积分得
    3 5 2n+1
    1 x 13 x 13*…(2n-1) x 2n+2
    arc sin x=x+ + +…+ +o(x )
    2 3 24 5 24*…2n 2n+1
    3 5 7 2n-1
    x x x n-1 a 2n
    arc tg x=x- + – -…+(-1) +o(a ) (a→0)
    3 5 7 2n-1
    当x=1时,由上式可得
    π 1 1 1 n 1
    =1- + – -…+(-1) +…
    4 3 5 7 2n+1

                    2      n                
    

    x x x x n
    e =1+ + + +o(x )
    1! 2! n!

        loga    x    xloga                                  
    

    因为a=e , a =e
    所以,
    2 1 n n
    x xloga x (loga) x (loga) n+1
    e =1+ + – +o(x )
    1! 2! n!

                  2     3      5            2n+1             
       1-x     π      x      x            x         2n+2         
    

    arctan = -x+ – +…+(-1) +o(x ) 在区间(-π/2,+π/2)
    1+x 4 3 5 2n+1

    推导过程可参见《古今算学丛书,割圆密率捷法》,清光绪戊戌六月算学书局印成,1898年刘铎整理.
    当N<1时
    2 3 4 5
    (1-N) (1-N) 2 (1-N) 2 3 (1-N) 2 3 4
    lgN=0.434294482[(1-N)+ + + +
    2 2 3 2 3 4 2 3 4 5
    n
    (1-N) 2 5 4 n-1
    +…+ … ]
    2 3 4 5 n
    m
    当N>1时,且N/10 <1,
    m 2 m 3 m n
    (1-N/10 ) (1-N/10 ) 2 (1-N/10 ) 2 3 4 n-1
    lgN=0.434294482[m-[ + +…+ … ]]
    2 2 3 2 3 4 5 n

    lgsinθ=-lgcscθ, lgcosθ=-lgsecθ, lnsinθ=-lncscθ, lncosθ=-lnsecθ,
    因为, 可参见高等教育出版社菲赫金哥尔茨著1953年版《微积分教程》第二卷第二分册,
    398.对数的计算,
    lgn
    ln n=
    lge
    所以,

        lgsecθ
    

    lnsecθ=
    lge
    e=2.71828182846, lge=0.4342944819,
    lgN
    lnN=
    0.4342944819
    lnn
    log n=
    a lna

        ln9     2.197224577
    

    log 9= = =1.365212389
    5 ln5 1.609437912
    当N<1时
    2 3 4 5
    (1-N) (1-N) 2 (1-N) 2 3 (1-N) 2 3 4
    lnN= (1-N)+ + + +
    2 2 3 2 3 4 2 3 4 5

         n      
     (1-N)    2     5     4       n-1
    

    +…+ … ]
    2 3 4 5 n

                  m               
    

    当N>1时,且N/10 <1,

                        m  2        m  3               m  n   
                  (1-N/10  )   (1-N/10  )     2      (1-N/10  )   2    3    4   n-1
    

    lnN=m-[ + +…+ … ]
    2 2 3 2 3 4 5 n
    可参见高等教育出版社菲赫金哥尔茨著1953年版《微积分教程》第二卷第二分册,
    398.对数的计算,
    lgn
    ln n=
    lge
    所以,
    lgsecθ
    lnsecθ= , e=2.71828182846, lge=0.4342944819,
    lge
    lgsecθ
    lnsecθ= ,
    0.4342944819
    推导过程可参见《古今算学丛书,割圆密率捷法》,清光绪戊戌六月算学书局印成,1898年刘铎整理.
    第一乘法 二 2 S =2
    1

                        2*4*5          
    

    第二乘法 一六 -22=16 S =16
    1
    2 2
    20

                       16*6*7    20*6*7     
    

    第三乘法 二七二 – +23=272 S =272
    1
    2 3*4 3
    336 70

                       272*8*9   336*8*9  70*8*9  
    

    第四乘法 七九三六 – + -24=7936 S =272
    1
    2 34 56 4
    9792 2016 168

                   7936*10*11  9792*10*11  2016*10*11  168*10*11
    

    第五乘法 三五三七九二 – + – +25= 353792
    1
    2 34 56 7*8
    436480 89760 7392 330 10

                                                              S    =353792 
                                                                5
    

    第六乘法 三五三七九二

    3537921213 4364801213 897601213 73921213 3301213
    – + – + -26=22368256
    1
    2 34 56 78 910
    27595776 5674240 466752 20592 572 12

                                                              S  = 22368256
                                                                6
    

    第七乘法 一九零三七五七三零零
    第八乘法 二零九八六五三零零零零零
    第九乘法 二九零八八八九零零零零零零零
    第十乘法 四九五一五零零零零零零零零零零零
    第十一乘法 一零一五四二零零零零零零零零零零零零零
    第十二乘法 一零一五四二零零零零零零零零零零零零零
    第十三乘法 七零二五二零零零零零零零零零零零零零零零零零零
    第十四乘法 二三一二零零零零零零零零零零零零零零零零零零零零零零
    把上面的计算过程,用数学归纳法,得到下面的公式

                     S   *(2n-2)(2n-1)             S  *(2n-4)(2n-3)
                       n-2                         n-3               
       S   *2n(2n+1)                 *2n(2n+1)                   *2n(2n+1)            
        n-1                1*2                        1*2
    

    S = – + …-2
    n 12 34 56
    当45°≥θ>0°时
    2 2 2
    0.434294481903θ 0.434294481903θ θ 2
    lgsecθ= + +
    2 2 1 3
    4

                      2    2         2                            2   S   
       0.434294481903θ   θ     2    θ     16       0.434294481903θ      n 
                                     +...+
            2            1    3*4   1     5*6             2      (n+1)(n+2)...*2n                             
    
                          2      4            6                8 
                         θ     θ     2      θ    2    16     θ     2   16 272
    

    lgsecθ=0.434294481903( + + +
    2 2 34 2 34 56 2 34 56 78

      10                            2n     S               
    θ     2   16   272  7936      θ          n
    
  •                       +…+                    )    
    

    2 34 56 78 910 2 (n+1)(n+2)…*2n

  • 上式中,
    S *(2n-2)(2n-1) S (2n-2)(2n-1)
    n-2 n-3
    S 2n(2n+1) 2n(2n+1) 2n(2n+1)
    n-1 1
    2
    S = – + …-2
    n 1
    2 3
    4 5
    6

    lgsec45°=lgsec0.78539816340=0.13394733531+0.01377090844+0.00226522364+0.0004218153+0.00008482454=0.15049010723,
    当67.5°≥θ>45°时
    lgsecθ=lgsec(2θ-90°)-lgsec(90°-θ)+lg2,
    当78.75°>θ≥67.5°时
    lgsecθ=lgsec[2(2θ-90°)-90°]-lgsec2(90°-θ)-lgsec(90°-θ)+2lg2,
    当84.375°>θ≥78.75°时
    lgsecθ=lgsec[2[2(2θ-90°)-90°]-90°]-lgsec4(90°-θ)-lgsec2(90°-θ)-lgsec(90°-θ)+3lg2,
    当85.375°>θ≥84.375°时
    lgsecθ=lgsec[2[2[2(2θ-90°)-90°]-90°]-90°]-lgsec6(90°-θ)-lgsec4(90°-θ)-lgsec2(90°-θ)-lgsec(90°-θ)+4lg2,
    当86.375°>θ≥85.375°时,
    lgsecθ=lgsec[2[2[2[2(2θ-90°)-90°]-90°]-90°]-90°]-lgsec8(90°-θ)-lgsec6(90°-θ)-lgsec4(90°-θ)-lgsec2(90°-θ)-lgsec(90°-θ)+5lg2,
    当87.375°>θ≥86.375°时,
    lgsecθ=lgsec[2[2[2[2[2(2θ-90°)-90°]-90°]-90°]-90°]-90°]-lgsec8(90°-θ)-lgsec8(90°-θ)-lgsec6(90°-θ)-lgsec4(90°-θ)-lgsec2(90°-θ)-lgsec(90°-θ)+6lg2,
    当88.375°>θ≥87.375°时,
    lgsecθ=lgsec[2[2[2[2[2[2(2θ-90°)-90°]-90°]-90°]-90°]-90°]-90°]-lgsec12(90°-θ)-lgsec10(90°-θ)-lgsec8(90°-θ)-lgsec6(90°-θ)-lgsec4(90°-θ)-lgsec2(90°-θ)-lgsec(90°-θ)+7lg2,
    因为, 可参见高等教育出版社菲赫金哥尔茨著1953年版《微积分教程》第二卷第二分册,
    lgsinθ=-lgcscθ, lgcosθ=-lgsecθ, lnsinθ=-lncscθ, lncosθ=-lnsecθ,

                          2      4            6                8 
                         θ     θ     2      θ    2    16     θ     2   16 272
    

    lgsecθ=( + + +
    2 2 34 2 34 56 2 34 56 78

      10                            2n     S               
    θ     2   16   272  7936      θ          n
    
  •                       +…+                    )    
    

    2 34 56 78 910 2 (n+1)(n+2)…2n
    当67.5°≥θ>45°时
    lnsecθ=lnsec(2θ-90°)-lnsec(90°-θ)+lg2,
    当78.75°>θ≥67.5°时
    lnsecθ=lnsec[2(2θ-90°)-90°]-lnsec2(90°-θ)-lnsec(90°-θ)+2ln2,
    当84.375°>θ≥78.75°时
    lnsecθ=lnsec[2[2(2θ-90°)-90°]-90°]-lnsec4(90°-θ)-lnsec2(90°-θ)-lnsec(90°-θ)+3ln2,
    当85.375°>θ≥84.375°时
    lnsecθ=lnsec[2[2[2(2θ-90°)-90°]-90°]-90°]-lnsec6(90°-θ)-lnsec4(90°-θ)-lnsec2(90°-θ)-lnsec(90°-θ)+4ln2,
    当86.375°>θ≥85.375°时,
    lnsecθ=lnsec[2[2[2[2(2θ-90°)-90°]-90°]-90°]-90°]-lnsec8(90°-θ)-lnsec6(90°-θ)-lnsec4(90°-θ)-lnsec2(90°-θ)-lnsec(90°-θ)+5ln2,
    当87.375°>θ≥86.375°时,
    lnsecθ=lnsec[2[2[2[2[2(2θ-90°)-90°]-90°]-90°]-90°]-90°]-lnsec8(90°-θ)-lnsec8(90°-θ)-lnsec6(90°-θ)-lnsec4(90°-θ)-lnsec2(90°-θ)-lnsec(90°-θ)+6ln2,
    当88.375°>θ≥87.375°时,
    lnsecθ=lnsec[2[2[2[2[2[2(2θ-90°)-90°]-90°]-90°]-90°]-90°]-90°]-lnsec12(90°-θ)-lnsec10(90°-θ)-lnsec8(90°-θ)-lnsec6(90°-θ)-lnsec4(90°-θ)-lnsec2(90°-θ)-lnsec(90°-θ)+7ln2,
    所以so
    sina d(cosa)
    f(x)= tanada= da=- =-lncosa+C=lnseca+C cosa cosa 所以, cosa d(sina) f(x)= cotada= da=- =lnsina+C sina csina
    推导过程可参见《对数表新编》冯度编开明书店出版1935年版
    logcosα计算公式,当88°<α<90°时,
    如果88°≤α<90°,根据《对数表新编》中的S,T公式,判断余弦对数值,
    log cosα=log (90°-α)+S, log cotα=log (90°-α)+T,
    上式中,
    90°-α=MN°WST``, (90°-α)``=3600*MN+60*WS+T, log (90°-α``)/1000=lgA.BC, 如果0≤(90°-α``)<7267, 那么,log cosα=log (90°-α``)/1000+3+4.68553, =lg A.BC+3+4.68553, 计算log cosα时,首先计算log(90°-α``)/1000,再加上3,最后加上4.68553,这样得到的数后面附加-10,给这个数减去10,就是log sinα的值, 例如: log cos88°2641.2=log5598.8+4.68553≈3.74809+4.68553 - 10 ≈8.43362 - 10 ≈-1.56639, log cos88°26`41.2=log5591.87+4.68553≈3.7462+4.68553 – 10 ≈8.43173 – 10 ≈-1.56827,
    0.027145
    10000=271.45*20.6=5591.87,
    90°-88°2641.2``=1°3318.8``=0.027145,
    下面的数字电路按照下面的公式进行计算,
    3 5 7 2m
    a a a m-1 a 2m
    sina=a- + – -…+(-1) +o(a ) (a→0)
    3! 5! 7! (2m)!
    下面的电路通过数字电路二进制加法器,加法器,乘法器,除法器按照上面的公式进行连接,最终计算出二进制结果.

  • 下面的数字电路按照下面的公式进行计算
    m m(m-1) 2 m(m-1)…(m-n+1) n 2n
    (1+x) =1+mx+ x +…+ x +o(x )
    12 12…n
    9 9(9-1) 2 9(9-1)(9-2) 3
    (1+x) =1+9x+ x + x +…
    12 12*3

    下面的数字电路按照下面的公式进行计算
    当N<1时
    2 3 4 5
    (1-N) (1-N) 2 (1-N) 2 3 (1-N) 2 3 4
    lnN= (1-N)+ + + +
    2 2 3 2 3 4 2 3 4 5

         n      
     (1-N)    2     5     4       n-1
    

    +…+ … ]
    2 3 4 5 n
    m
    当N>1时,且N/10 <1,
    m 2 m 3 m n
    (1-N/10 ) (1-N/10 ) 2 (1-N/10 ) 2 3 4 n-1
    lnN=m-[ + +…+ … ]
    2 2 3 2 3 4 5 n

    详细内容可参见《中学数学用表》,
    1=0.0000048, 1`=0.000291, 1°=0.017453, 10°=0.174533, 45°23`54=450.017453+230.000291+54*0.0000048=0.0785385+0.06693+0.00002592=0.1457277,
    从前面键盘输入的二进制数值. 下面的电路将角度化为弧度
    ,

    将输入的角度值化为弧度值输入到计算机中进行计算, 数值45°=0.785399,
    数值大小比较电路, 当输入的数小于0.785399,非门输出1,与门输出1,输入的数值进入后级电路进行运算,

    第三部分 古今算学丛书假数测圆
    第三部分古今算学丛书假数测圆
    推导过程可参见《古今算学丛书,割圆密率捷法》,清光绪戊戌六月算学书局印成,1898年刘铎整理,
    圆周率π=3.141592653589793238462643186367472279514(小于71519),
    推导过程参见《古今算学丛书,假数测圆》清光绪戊戌六月算学书局印成,清咸丰壬子年,湖北人戴煦识,夏鸾翔编写,1898年刘铎整理,
    以本弧弧分径,求四十五度以内正割对数。
    术曰:先求各率分子,为递次乘法,以二为数根,即为第一乘法,置前数根,加二得四,为数根,置前乘法,四五递乘之,一二递除之,得二十,为初减数,以数根减初减数,得十六,为第二乘法,置前数根,加二,得六,为数根,置前初减数,六七递乘之,三四递除之,得七十,为初减数,置前乘法六七,递乘之,一二递除之,得三百三十六,为次减数,以数根减初减数,得六十四,再减次减数,得二百七十二为第三乘法,置前数根加二,得八,为数根,置前初减八九递乘之,五六递除之,得一百六十八,为初减数,置前次减八九递乘之,三四递除之,得二千零十六,为次减数,置前乘法八九递乘之,一二递除之,得九千七百九十二,为三减数,以数根减初减,得一百六十,再减次减,得一千八百五十六,再减三,减得七千九百三十六,为第四乘法,凡数根均起各偶数,其求各减数,则用偶奇二数,乘而逐次,乘法递加,如第二乘法,用四五乘,第三乘法用六七乘,再用奇偶二数,除而,挨次减数递降,如第三乘法,初减用三四除,次减用一二除,乘法将一位,则多一减,如是递求得各率分子,即为递次乘法。
    根据以上描述,推导出
    第一乘法 二 2 S =2
    1

                        2*4*5          
    

    第二乘法 一六 -22=16 S =16
    1
    2 2
    20

                       16*6*7    20*6*7     
    

    第三乘法 二七二 – +23=272 S =272
    1
    2 3*4 3
    336 70

                       272*8*9   336*8*9  70*8*9  
    

    第四乘法 七九三六 – + -24=7936 S =272
    1
    2 34 56 4
    9792 2016 168

                   7936*10*11  9792*10*11  2016*10*11  168*10*11
    

    第五乘法 三五三七九二 – + – +25= 353792
    1
    2 34 56 7*8
    436480 89760 7392 330 10

                                                              S    =353792 
                                                                5
    

    第六乘法 三五三七九二

    3537921213 4364801213 897601213 73921213 3301213
    – + – + -26=22368256
    1
    2 34 56 78 910
    27595776 5674240 466752 20592 572 12

                                                              S  = 22368256
                                                                6
    

    第七乘法 一九零三七五七三零零
    第八乘法 二零九八六五三零零零零零
    第九乘法 二九零八八八九零零零零零零零
    第十乘法 四九五一五零零零零零零零零零零零
    第十一乘法 一零一五四二零零零零零零零零零零零零零
    第十二乘法 一零一五四二零零零零零零零零零零零零零
    第十三乘法 七零二五二零零零零零零零零零零零零零零零零零零
    第十四乘法 二三一二零零零零零零零零零零零零零零零零零零零零零零
    把上面的计算过程,用数学归纳法,得到下面的公式

                     S   *(2n-2)(2n-1)             S  *(2n-4)(2n-3)
                       n-2                         n-3               
       S   *2n(2n+1)                 *2n(2n+1)                   *2n(2n+1)            
        n-1                1*2                        1*2
    

    S = – + …-2
    n 12 34 5*6

    对数的计算, lg0.98=(1-0.98)0.434294482,
    a 对数根 0.434294482 a=0.434294482
    b 第一数 (1-0.98)0.434294482=0.00868588964 b=(1-N)a
    c 第二数 0.00868588964
    0.02/2=0.00008685890 c=b(1-N)/2
    d 第三数 0.00008685890
    0.02
    2/3=0.00000115812 d=c*(1-N)2/3
    e 第四数 0.00000115812
    0.023/4=0.00000001737 e=d.(1-N)3/4
    f 九率 0.000000017378
    0.024/5=0.00000000028 f=e(1-N)*4/5
    lg0.98=-0.00868588964-0.00008685890-0.00000115812-0.00000001737-0.00000000028=-0.00877392431,
    lg98=2-lg0.98=2-0.00877392431=1.99122607569,
    当N<1时
    2 3 4 5
    (1-N) (1-N) 2 (1-N) 2 3 (1-N) 2 3 4
    lgN=0.434294482[(1-N)+ + + +
    2 2 3 2 3 4 2 3 4 5

         n      
     (1-N)    2     5     4       n-1
    

    +…+ … ]
    2 3 4 5 n

                  m               
    

    当N>1时,且N/10 <1,

                        m  2        m  3               m  n   
                  (1-N/10  )   (1-N/10  )     2      (1-N/10  )   2    3    4   n-1
    

    lgN=0.434294482[m-[ + +…+ … ]]
    2 2 3 2 3 4 5 n
    因为, 可参见高等教育出版社菲赫金哥尔茨著1953年版《微积分教程》第二卷第二分册,
    398.对数的计算,
    lgn
    ln n=
    lge
    所以,
    lgsecθ
    lnsecθ=
    lge
    e=2.71828182846, lge=0.4342944819,
    lgN
    lnN=
    0.4342944819
    当N<1时
    2 3 4 5
    (1-N) (1-N) 2 (1-N) 2 3 (1-N) 2 3 4
    lnN= (1-N)+ + + +
    2 2 3 2 3 4 2 3 4 5

         n      
     (1-N)    2     5     4       n-1
    

    +…+ … ]
    2 3 4 5 n

                  m               
    

    当N>1时,且N/10 <1,

                        m  2        m  3               m  n   
                  (1-N/10  )   (1-N/10  )     2      (1-N/10  )   2    3    4   n-1
    

    lnN=m-[ + +…+ … ]
    2 2 3 2 3 4 5 n
    正割对数的计算公式
    法检弧线表,得四十五度,弧分单位下,七八五三九八一六三四零为二率,自乘,得单位下六一六八五零二七五零七二,为三率,以对数根,单位下四三四二九四四八一九零三乘之,二除之,得零一三三九四七三三五三一,为第一数正,次置第一数,以三率乘之,得五率,三除之,四除之,得连单位三零下六八八五四五四二一九二六,为七率,用数第一乘法,二乘之,得一三七七零九零八四四,为第二数正,次置七率,用数以三率乘之,得七七六三八,为九率,用数第二乘法,一六乘之,得二二六五二二三六四,为第三数正,次置九率,用数以三率乘之,得九率,七除之,八除之,得连单位六零下一五五九四九零八七八二,为十一率,用数第三乘法二七二乘之,得四二四一八一五二,为第四数正,次置十一率,用数以三率乘之,得十一率,九除之,十除之,得连单位八零下一零六八八五八一九七,为十三率,用数第四乘法七九三六乘之,得八四八二四五九,为第五数正,次置十三率,用数以三率乘之,得十三率,十一除之,十二除之,得连单位十一零下四九九四八八九九五,为十五率,用数第五乘法三五三七九二乘之,得一七六七一五二,为第六数正,次置十五率,用数以三率乘之,得十五率十三除之,十四除之,得连单位十三零下一六九二九一一七,为十七率,用数第六乘法二二三六八二五六乘之,得三七八六七五,为第七数正。次置十七率,用数以三率乘之,得十七率,十五除之,十六除之,得连单位十六零下四三五一一三七七,为十九率,用数第七乘法一九零三七五七三下连单位二零乘之,得八二八三五,为第八数正,次置十九率用数以三率乘之,得十九率,十七除之,十八除之,得连单位十九零下八七七一二四三,为二十一率,用数第八乘法二零九八六五三下,连单位五零乘之,得一八四零八,为第九数正,次置二十一率,用数以三率乘之,得一八四零八,为第九数正,次置二十一率,用数以三率乘之,得二十一率,十九除之,二十除之,得连单位二十一零下一四二三八二七,为二十三率,用数第九乘法二九零八八八九下,连单位七零乘之,得四一四二,为第十数正,次置二十三率,用数以三率乘之,得二十三率,二十一除之,二十二除之,得连单位二十四零下一九零一零五,为二十五率,用数第十乘法四九五一五零下,连单位十零,乘之,得九四一,为第十一数正,次置二十五率,用数以三率乘之,得二十五率,二十三除之,二十四除之,得连单位二十七零下二一二四四,为二十七率,用数第十一乘法一零一五四二下,连单位十三零乘之,得二一六,为第十二数正,次置二十七率,用数以三率乘之,得二十七率,二十五除之二十六,除之,得连单位三十零下二零一六零,为二十九率,用数第十二乘法二四六九二下连单位十六零,乘之,得五零,为第十三数正,次置二十九率,用数以三率乘之,得二十九率,二十七除之,二十八除之,得连单位三十三零下一六四五,为三十一率,用数第十三乘法,七零二五二下连单位十八零乘之,得一十二,为十四数正,次置三十一率,用数以三率乘之,得三十一率,二十九除之,三十除之,得连单位三十六零下一一七第十四,乘法二三一二下连单位二十一零乘之,得三,为第十五数正,乃以诸正数相并,得零一五零五一四九九七八四,以半径一百亿系十一位乃于首位加一零,尾位未满五弃之,得一零一五零五一四九九七八,为四十五度正割对数也。
    余切对数求法
    lgsec44°+10=10.1430659099,
    lgsec44°+20=20.1430659099,
    lgcsc44°+10=10.1582287268,
    lgtg44°=lgsec44°+20-lgcsc44°-10-10=20.1430659099-10.1582287268-10=9.9848371831-10=-0.015162817,
    lgctg44°=lgcsc44°+20-lgsec44°-10-10=20.1582287268-10.1430659099-10=0.01516282,
    lgctgθ=lgcscθ-lgsecθ,
    lgctg44°=lgcsc44°-lgsec44°=-0.1431+0.1582=0.0151,
    lgtgθ=lgsecθ-lgcscθ,
    lgctgθ=lgcscθ-lgsecθ,
    lntgθ=lnsecθ-lncscθ,
    lnctgθ=lncscθ-lnsecθ,
    正弦对数求法
    lgcsc44°+10=10.1582287269,
    lgsin44°=20-lgcsc44°-10-10=9.8417712731-10=-0.158287269,
    lgsinθ=-lgcscθ,
    lgcosθ=-lgsecθ,
    lnsinθ=-lncscθ,
    lncosθ=-lnsecθ,
    正矢对数求法
    44°/2=22°,
    45°-22°=23°,
    lg2+3=3.03010299956,
    2*[(lgcsc22°)/10+1]=21.04264245830=2.08528491660,
    lgversin44°=[lg2+3-2
    [(lgcsc22°)/10+1]-1]10=(3.03010299956-2.08528491660-1)10=(0.94481808296-1)10=-0.5518190172,
    lgversin44°=lg(1-cos44°)=lg0.28066=-0.551819479,
    lgversinθ=[lg2+3-2
    [lgcsc(θ/2)]/10+1]-1]10,
    2
    [(lgcsc23°)/2+1]=1.04081219884
    2=2.08162439768,
    lgvercos44°=2
    [(lgcsc23°)/2+1]-[lg2+3-2*[(lgcsc22°)/10+1]]10-10=2.08162439768-9.4481808296-10=9.4847860188-10=-0.515213982,
    lgvercosθ=2
    [(lgcsc(90°-θ))/2+1]-[lg2+3-2*[(lgcscθ/2)/10+1]]10-10,
    正大矢对数求法
    44°/2=22°,
    45°-22°=23°,
    lg2+3=3.03010299956,
    2
    [(lgcsc22°)/10+1]=21.00328341395=2.00656682790,
    lgvercos23°=10
    [lg2+3-2*[(lgcsc22°)/10+1]-10]-1=[3.03010299956-2.00656662790-10]10-1=1.0235361716610-1=0.2353617166
    lgvercosθ=10*[lg2+3-2*[(lgcsc(45°-θ)/10)+1]-10]-1
    2*[(lgsec23°)/10+1]=1.003597391732=2.00719478346,
    lgvercos22°=lg2+3-2
    [(lgcsc23°)/10+1]-10=3.03010299956-2.00719478346-10=1.02290821610

    正割对数计算公式
    对数根0.434294481903,
    a 二率 θ=0.78539816340 a=θ

             2                                                        2   
    

    b 三率 θ =0.785398163400.78539816340=0.616850275072 b=θ
    c 第一数正 0.616850275072
    0.434294481903/2=0.13394733531 c=0.434294481903b/2
    d 七率 0.13394733531
    0.616850275072/34=0.00688545421926 d=cb/34
    e第二数正 0.00688545421926
    2=0.01377090844 e=2d
    f 九率 0.006885454219260.616850275072/56=0.00014157648 f=bd/56
    g第三数正0.00014157648
    16=0.00226522364 g=f16
    h第十一率0.00014157648
    0.616850275072/78=0.00000155949 h=bf/78
    i第四数正0.00000155949272=0.0004218153 i=272h
    j第十三率0.00000155949
    0.616850275072/910=0.00000001069 j=bh/910
    k第五数正0.000000010697936=0.00008482454 k=7936j
    m第十五率0.000000010690.616850275072/1112=0.0000000000499488995 m=bj/11812
    n第六数正0.0000000000499488995353792=0.00001767152 n=353792m
    o第十七率0.0000000000499488995
    0.616850275072/1314=169291167E13 o=bm/1314
    p第七数正169291167E1322368256=378674816E6 p=22368256o
    q第十九率169291167E13
    0.616850275072/1516=43511377E15 q=bo/1516
    s第八数正43511377E151903757300=8283E5 s=1903757300q
    t第二十一率43511377E15
    0.616850275072/1718=877124343196E18 t=bq/1718
    u第九数正877124343196E18209865300000=184077963212E6 u=209865300000t
    当45°≥θ>0°时
    2 2 2
    0.434294481903θ 0.434294481903θ θ 2
    lgsecθ= + +
    2 2 1 3
    4

                      2    2         2                            2   S   
       0.434294481903θ   θ     2    θ     16       0.434294481903θ      n 
                                     +...+
            2            1    3*4   1     5*6             2      (n+1)(n+2)...*2n                             
    
                          2      4            6                8 
                         θ     θ     2      θ    2    16     θ     2   16 272
    

    lgsecθ=0.434294481903( + + +
    2 2 34 2 34 56 2 34 56 78

      10                            2n     S               
    θ     2   16   272  7936      θ          n
    
  •                       +…+                    )    
    

    2 34 56 78 910 2 (n+1)(n+2)…*2n

  • 上式中,
    S *(2n-2)(2n-1) S (2n-2)(2n-1)
    n-2 n-3
    S 2n(2n+1) 2n(2n+1) 2n(2n+1)
    n-1 1
    2
    S = – + …-2
    n 1
    2 3
    4 5
    6

    lgsec45°=lgsec0.78539816340=0.13394733531+0.01377090844+0.00226522364+0.0004218153+0.00008482454=0.15049010723,
    当67.5°≥θ>45°时
    lgsecθ=lgsec(2θ-90°)-lgsec(90°-θ)+lg2,
    当78.75°>θ≥67.5°时
    lgsecθ=lgsec[2(2θ-90°)-90°]-lgsec2(90°-θ)-lgsec(90°-θ)+2lg2,
    当84.375°>θ≥78.75°时
    lgsecθ=lgsec[2[2(2θ-90°)-90°]-90°]-lgsec4(90°-θ)-lgsec2(90°-θ)-lgsec(90°-θ)+3lg2,
    当85.375°>θ≥84.375°时
    lgsecθ=lgsec[2[2[2(2θ-90°)-90°]-90°]-90°]-lgsec6(90°-θ)-lgsec4(90°-θ)-lgsec2(90°-θ)-lgsec(90°-θ)+4lg2,
    当86.375°>θ≥85.375°时,
    lgsecθ=lgsec[2[2[2[2(2θ-90°)-90°]-90°]-90°]-90°]-lgsec8(90°-θ)-lgsec6(90°-θ)-lgsec4(90°-θ)-lgsec2(90°-θ)-lgsec(90°-θ)+5lg2,
    当87.375°>θ≥86.375°时,
    lgsecθ=lgsec[2[2[2[2[2(2θ-90°)-90°]-90°]-90°]-90°]-90°]-lgsec8(90°-θ)-lgsec8(90°-θ)-lgsec6(90°-θ)-lgsec4(90°-θ)-lgsec2(90°-θ)-lgsec(90°-θ)+6lg2,
    当88.375°>θ≥87.375°时,
    lgsecθ=lgsec[2[2[2[2[2[2(2θ-90°)-90°]-90°]-90°]-90°]-90°]-90°]-lgsec12(90°-θ)-lgsec10(90°-θ)-lgsec8(90°-θ)-lgsec6(90°-θ)-lgsec4(90°-θ)-lgsec2(90°-θ)-lgsec(90°-θ)+7lg2,
    因为, 可参见高等教育出版社菲赫金哥尔茨著1953年版《微积分教程》第二卷第二分册,
    398.对数的计算,
    lgn
    ln n=
    lge
    所以,
    lgsecθ
    lnsecθ=
    lge
    e=2.71828182846, lge=0.4342944819,
    lgsecθ
    lnsecθ=
    0.4342944819
    所以,当45°≥θ>0°时

          2       4              6                   8     
        θ       θ      2       θ     2      16     θ      2    16     272
    

    lnsecθ= + + +
    2 2 34 2 34 56 2 34 56 78

          10                                  2n       S       
        θ      2    16    272   7936        θ             n   
    
  •                             +…+               
      2      3*4  5*6   7*8   9*10        2      (n+1)(n+2)...*2n
    
  • 上式中,

                          S     *(2n-2)(2n-1)                S     *(2n-2)(2n-1)           
                            n-2                              n-3
       S    *2n(2n+1)                          *2n(2n+1)                *2n(2n+1)             
         n-1                     1*2        
    

    S = – + …-2
    n 12 34 5*6

    当67.5°≥θ>45°时
    lnsecθ=lnsec(2θ-90°)-lnsec(90°-θ)+ln2,
    当78.75°>θ≥67.5°时
    lnsecθ=lnsec[2(2θ-90°)-90°]-lnsec2(90°-θ)-lnsec(90°-θ)+2ln2,
    当84.375°>θ≥78.75°时
    lnsecθ=lnsec[2[2(2θ-90°)-90°]-90°]-lnsec4(90°-θ)-lnsec2(90°-θ)-lnsec(90°-θ)+3ln2,
    当85.375°>θ≥84.375°时
    lnsecθ=lnsec[2[2[2(2θ-90°)-90°]-90°]-90°]-lnsec6(90°-θ)-lnsec4(90°-θ)-lnsec2(90°-θ)-lnsec(90°-θ)+4ln2,
    当86.375°>θ≥85.375°时,
    lnsecθ=lnsec[2[2[2[2(2θ-90°)-90°]-90°]-90°]-90°]-lnsec8(90°-θ)-lnsec6(90°-θ)-lnsec4(90°-θ)-lnsec2(90°-θ)-lnsec(90°-θ)+5ln2,
    当87.375°>θ≥86.375°时,
    lnsecθ=lnsec[2[2[2[2[2(2θ-90°)-90°]-90°]-90°]-90°]-90°]-lnsec8(90°-θ)-lnsec8(90°-θ)-lnsec6(90°-θ)-lnsec4(90°-θ)-lnsec2(90°-θ)-lnsec(90°-θ)+6ln2,
    当88.375°>θ≥87.375°时,
    lnsecθ=lnsec[2[2[2[2[2[2(2θ-90°)-90°]-90°]-90°]-90°]-90°]-90°]-lnsec12(90°-θ)-lnsec10(90°-θ)-lnsec8(90°-θ)-lnsec6(90°-θ)-lnsec4(90°-θ)-lnsec2(90°-θ)-lnsec(90°-θ)+7ln2,
    例如:
    lgsec2°+10=10.0002646411,
    lgsec2°+20=20.0002646411,
    lgsec44°+10=10.1430659099,
    lg2=0.301029995,
    lgsec44°+10-lg2=10.1430659099-0.301029995=9.842035904,
    lgsec46°=lgsec2°+10+10-lgsec44°-10-lg2-10=20.0002646411-9.842035904-10=10.15822874-10=0.15822874,
    lnsecθ=lnsec(2θ-90°)-lnsec(90°-θ)+lg2,
    例如:
    lgsec4°+10=10.00010592102,
    lgsec4°+20=20.00010592102,
    lgsec43°+10=10.1358725362,
    lg2=0.301029995,
    lgsec43°+10-lg2=10.1358725362-0.301029995=9.8348425406,
    lgsec47°=lgsec4°+10+10-lgsec43°-10+lg2-10=20.00010592102-9.8348425406-10=10.1662166696-10=0.1662166696,
    lnsecθ=lnsec(2θ-90°)-lnsec(90°-θ)+lg2
    0.00011-0.1359+0.301029995
    lnsecθ=lnsec(2θ-90°)-lnsec(90°-θ)+lg2,
    例如:
    lnsec67°=lnsec(267°-90°)-lnsec(90°-67°)-lg2
    =lnsec44°-lnsec23°+lg2
    因为,
    lnsinθ=-lncscθ,
    lncosθ=-lnsecθ,
    lnsec67°=-lncos44°+lncos23°+lg2
    =0.1431-0.036+0.301029995=-0.408129995
    例如:
    lgsec68°=lgsec(2
    68°-90°)-lg(90°-68°)+lg2
    =lgsec46°-lgsec22°+lg2
    lgsec68°=lgsec(246°-90°)-lgsec(90°-46°)+lg2-lgsec22°+lg2
    =lgsec2°-lgsec44°+lg2-lgsec22°+lg2
    =0.30003-0.1431-0.0328+0.301029995
    =0.42519995
    例如:
    lgsec79°=lgsec(2
    79°-90°)-lg(90°-79°)+lg2
    =lgsec68°-lgsec11°+lg2

    lgsec68°=lgsec(246°-90°)-lgsec(90°-46°)+lg2-lgsec22°+lg2
    =lgsec2°-lgsec44°+lg2-lgsec22°+lg2
    =0.30003-0.1431-0.0328+0.301029995
    =0.42519995
    lgsec79°=lgsec(2
    79°-90°)-lg(90°-79°)+lg2
    =lgsec68°-lgsec11°+lg2
    =0.42519995-0.00081+0.301029995
    . =0.725419495
    例如:
    lgsec85°=lgsec(285°-90°)-lg(90°-85°)+lg2
    =lgsec80°-lgsec5°+lg2
    lgsec80°=lgsec(2
    80°-90°)-lg(90°-80°)+lg2
    =lgsec70°-lgsec10°+lg2
    lgsec70°=lgsec(270°-90°)-lg(90°-70°)+lg2
    =lgsec50°-lgsec20°+lg2
    lgsec50°=lgsec(2
    50°-90°)-lg(90°-50°)+lg2
    =lgsec10°-lgsec40°+lg2
    推导过程可参见《对数表新编》冯度编开明书店出版1935年版
    logcosα计算公式,当88°<α<90°时,
    如果88°≤α<90°,根据《对数表新编》中的S,T公式,判断余弦对数值,
    log cosα=log (90°-α)+S, log cotα=log (90°-α)+T,
    上式中,
    90°-α=MN°WST``, (90°-α)``=3600*MN+60*WS+T, log (90°-α``)/1000=lgA.BC, 如果0≤(90°-α``)<7267, 那么,log cosα=log (90°-α``)/1000+3+4.68553, =lg A.BC+3+4.68553, 计算log cosα时,首先计算log(90°-α``)/1000,再加上3,最后加上4.68553,这样得到的数后面附加-10,给这个数减去10,就是log sinα的值, 例如: log cos88°2641.2=log5598.8+4.68553≈3.74809+4.68553 - 10 ≈8.43362 - 10 ≈-1.56639, log cos88°26`41.2=log5591.87+4.68553≈3.7462+4.68553 – 10 ≈8.43173 – 10 ≈-1.56827,
    0.02714510000=271.4520.6=5591.87,
    90°-88°2641.2``=1°3318.8``=0.027145,
    第四部分 计数器电路
    下面的资料参见《石英电子手表原理及维修》刘令祥,谷宜德编著,江苏科学技术出版社1982年出版

    2.秒钟信号的产生,
    CMOS石英振荡电路中产生的基准频率信号是32KHZ或4.2MHZ,要使这样高的频率信号变成秒钟信号就必须用一种分频电路的电路来降低这个频率,直到得到秒钟信号及某些二针的薄型表中低于1HZ的频率信号。图2-11(a)为石英电子表用CMOS集成电路中经常采用的二分频电路。它是由CMOS倒相器、传输门组成的D型触发器。传输门(1),(2),倒相器F1,F2组成主触发器,传输门(3)、(4),倒相器F3,F4组成从触发器。从波形图[图2-11(b)]可见,每输入二个脉冲信号该电路输出一个脉冲信号,实现了二分频作用。二分频电路的种类甚多,但基本原理大同小异。指针式石英电子表用的CMOS电路一般采用16级相互级联的二分频电路,二针薄型表中的CMOS电路采用的级数更多。数字式石英表用的CMOS电路一般采用16级。如果是4.2MHZ的高频石英表其级数需22级或更多。一旦某一级二分频电路出故障,石英电子表就会出现成倍的快或成倍的慢这一故障。
    4.计数电路
    指针式石英表与机械表一样,其时间的累计是靠轮系来实现的,而数字式石英表是靠集成电路中的计数电路来实现的。为了把从分频电路中出来的1HZ的标准秒信号累计出时、分、秒、上下午、月、日、周等时间,在数字式石英表的集成电路中设有各样的计数电路。有六十进位的秒、分计数器,有十二或二十四进位的时计数器,有七进位的星期计数器等等。这些计数器实际上都是由数级二分频电路加上适当的门电路组成,因此不同进位制的计数器实际上就是一种不同分频比的分频器。如图2-14是一个三级二分频电路连接在一起,加上一个三端与非门组成的六进计数电路。如果采用四级二分频电路,则在 不加与门控制的情况下是十六进制计数器,但加上一定的与门控制就可成为十进制或十二进制计数器。因此,用增加或减少级联的二分频电路和安排适当的门电路就组成我们所需的一切计数电路。数字式石英表就靠这些名目繁多的计数电路来实现其正确的时间累计,一旦某个计数器损坏,其累计的结果就是不正确的。

    5.译码电路
    根据表2-1及“反译码”的原则可以得到如下的逻辑表达式:
    a =DCB A +AB C

    b = C B A+ C B A

    c =C B A

    d =BCD A +AB C + A B C

    e = A + C B

    f = A B C +CD B +CD A

    g =CDB+ C B A

    数字式石英表在调校过程中除调校项外,其余各项均不显示,所以,液晶数码管熄灭状态应用较多。为了能使液晶数码管通过一个简单的控制就能熄灭,在译码电路中采用加入一个控制参量x来实现。当x=1,则译码电路输出的七个控制字段的输出端均为“0”,各字段都熄灭。因此,实际逻辑表达式中还应加上x。如图2-16所示为实际译码电路的逻辑图。

    11.图5-7-3所示是1248码十进制计数电路,试分析其工作原理,并列出该计数电路的逻辑图,以及各级双稳电路翻转的波形图。

    10。试对表5-7-6所列出的1224码表设计一个十进制计数逻辑图,并画出各级双稳电路翻转的波形图

    下面的电路可参见《数字电路》上册,上海师范大学物理系,编,上海人民出版社1975年出版。
    上面介绍的氖泡及数码管显示器件,它们都是采用辉光放电原理,因此其工作电压较高(一般需达200V)。这样,与晶体管或集成电路这些低压器件配合使用时,不仅增加了仪器电源的种类(需绕制高压电源),而且工作极不安全。一旦由于工作不慎或者某些电子器件的损坏,就有可能使几百伏的高压直接加在晶体管或集成电路上,从而造成了这些器件的击穿损坏。因此,就提出了低压显示器件的要求。随着生产的需要,近来陆续出现了一些低压显示器件,如液晶显示器、碳化硅晶体数字管、荧光数字管等,这里我们仅以在台式电子计算机中广泛使用的荧光数字管为例,作一些简单介绍。荧光数字管外形如图5-4-30所示,它由网状的栅极、八个片段的阳极以及灯丝几部分所组成。在表5-4-9列出了荧光数字管的典型特性。由表可见,荧光数字管的特点是工作电压极低,可以与晶体管、集成电路相配合,此外驱动电流小、寿命小、显示清晰,因此是一种比较理想的低压显示器件。

    由于它是由八段线段排列组合以显示数字,有时也称之为八段显示。当灯丝加有电压,栅极接有20V正电压时,若阳极也接有20V正电压,则该阳极线段发亮,反之若阳极接零电平,则相应阳极熄灭。从上图可清楚地看出,要某一个数字如“5”亮,就必须使P1、P2、P3、P5、P6这几段阳极亮,而P4、P7、P8熄灭。这就要求,不仅在栅极商加有恒定20V直流电压,而且在P1、P2、P3、P5、P6这几段阳极上也加有20V直流电压,但在其余各段阳极上均接零电平。为了译码方便起见,可列出八段显示状态表(以“1”表示该段阳极接高电平20V,“0”表示接低电平0V)。如表5-4-10所示。表5-4-10八段显示状态表

    根据表5-4-10可以画出八段显示荧光数字管的译码电路(1248码),如图5-4-32(a)所示。而图5-4-32(b)则表示P1阳极段的电路,其中T2为一个简单“非”电路,T1是一个射极跟随器,当“或非”门1输出低电平时,T2管截止、T1管通导,从而其射极输出高电平P1阳极,使P1段发亮;而当“或非”门1输出高电平时,T2管通导、T1管截止,其加至P1阳极将是零电平,从而使P1段熄灭。

    以上就是荧光数字管的译码显示原理及电路图,运用卡诺图方法,可使电路大为简化。例如,对于P1段,由图5-4-31(a)可见,对应0、2、3、5、6、7、8、9的各个数字,都要求P1段必须点亮,这就相应要求“或非”门输出低电平,亦即在这些数字状态时要求“或非”门至少有一个输出端为高电平,因此,可以画出使P1段点亮的“或非”门1输入段卡诺图,从而简化“或非”门的输入端逻辑,如图5-4-33所示。

    同样的方法可得到:
    P2= A B + B C+ A C+D

    P3= A B+ B C+B C +D

    P4= A C + A B

    P5= A C +A B C+B C + A B+D

    P6=A+ B +C

    P7= A B C

    P8= A B +AB+ C

    这样,各个“或非”门输入端可直接由1248码十进制计数电路输出端 A 、A、 B 、B、 C 、C、 D 、D按简化的逻辑式来组合。当然,其译码方式有两种:一种是控制相应阳极段点亮;另一种是控制相应段熄灭。上面所讨论的是点亮式,作为一个练习,读者可试用熄灭式来进行译码,并比较两种方式,看哪一种节省元件。

    第五部分 加法器电路
    下面的电路可参见《数字工程》[美]G.K.科斯托普洛斯著,王玉龙,蔡勇译,张其善校,人民邮电出版社1981年出版。
    下面的电路可参见《电子数字计算机》南京大学,西北电讯工程学院,南京有线电厂合编,江苏科技出版社1973年出版。
    下面的电路可参见《计算机电子线路与数字逻辑》(修订版),李新荃,王魁臣主编,东北大学1997年出版。
    下面电路可参见《数字电路实用基础》,[日]石坂阳之助著,冯重熙译,高等教育出版社1982年出版。
    下面的电路可参见《逻辑设计的问题和解答》[加]D.齐索斯著,刘永才,左孝凌译,何国森校,上海科学技术文献出版社1982年出版。本书根据1979年D.齐索斯著的《PROBLEMS AND SOLUTIONS IN LOGIC DESIGN》一书(第二版)翻译而成。
    下面的电路可参见《数字电子电路》薛瑞福,马国琳编,高等教育出版社1983年出版。
    下面的电路可参见《数字电路与逻辑设计》张毅编,汪雍,刘元于审,人民邮电出版社1982年出版。
    下面的电路可参见《数字电路》上册,上海师范大学物理系,编,上海人民出版社1975年出版。
    下面的电路可参见《数字电路与微处理机》[美]H.陶布编,印丕勤,陆嘉宝,刘舒译,印丕勤校,中国建筑工业出版社1987年出版。
    下面的电路可参见《微计算机原理》严家万,张石民,何永明编,电子工业出版社1986年出版。
    下面的电路可参见《数字电路与逻辑设计》张端编,高等教育出版社1985年出版。

    下面的电路可参见《数字工程》[美]G.K.科斯托普洛斯著,王玉龙,蔡勇译,张其善校,人民邮电出版社1981年出版。

    下面的电路可参见《电子数字计算机》南京大学,西北电讯工程学院,南京有线电厂合编,江苏科技出版社1973年出版

    图5-1是用非门F、与非门YF、与或非门YHF(每个与或非门由1个与非门及1个与或扩展器构成)集成电路所组成的两个单元线路全加器方案。现在通过这两种方案的比较来具体说明应如何选择设计方案。图5-1(a)的逻辑关系式为:
    半加和:

    S =A *A *B +B *A *B
    k k k k k k k

      =A     (A     +B      )+B      (A       +B       )      
         k      k       k       k       k         k     
    
     =A     *B      +B       *A  
        k      k         k        k            
    

    全加和:

    ∑ =S *π +S *π
    k k k-1 k k-1

    =S *π *S *π
    k k-1 k k-1

    =(S +π )(S +π )
    k k-1 k k-1

    =S *π +S *π
    k k-1 k k-1
    进位:

    π =A *B *S +A *B *π
    k k k k k k k-1

    =A *B (S +π )
    k k k k-1

    =A *B *S π
    k k k k-1

    =A *B +S *π
    k k k k-1

    =A *B +S *π
    k k k k-1
    用同样方法亦可得到图5-1( b)的逻辑关系式为:
    半加和:

    S =A *B +B *A
    k k k k k
    全加和:

    ∑ =S *π +S *π
    k k k-1 k k-1
    进位:
    π =A *B +(A +B )*π
    k k k k k k-1

    如图5-2中的加法器是由图5-1的(a)或(b)方案的全加器构成,进位信号是一位接着一位串行传送的,那么这种加法器做一次加法的时间是很长的。

    由于数码是串行传递的,因此关键问题在于进位的处理,这是与并行运算不同的。
    当进行第k-1位的运算,即进行x +y +π 的运算时,
    k-1 k-1 k-1

    从加法器输出的有全加器和∑ 及进位π 。
    k-1 k-1

    当进行第k位运算,即x +y +π 时,
    k k k-1

    显然必须设法使前一位运算得到的π 保留一段时间,以供第k位运算用。
    k-1
    图5-1采用带有维持阻塞的可控触发器C来保存π ,如π =1为高电位,
    k-1 k-1
    经反相器F后,变为低电位,加于触发器的电位输入端,下一工作脉冲一来就将触发器C置为“1”状态;反之,若π =0经反相器F后。低电位变为高电位加于触发器的电位输
    k-1

    入端,下一工作脉冲一来就将触发器C置为“0”状态。

    起始时,由专门的脉冲使C2处于“0”状态,即“0”端输出为高电平,打开门YF1,而YF2被关闭,数x沿着原码通道传送,当出现第一个1时,此1信号通过YF1的同时,也通过反相器F1,将C1置为“1”状态。当“1”信号通过YF1后,此信号经延迟元件YC1将C1置“0”,于是YF2被打开,YF1被关闭,数码就通过反码通道传送。这样就在HF的输出端上得到了x的补码。
    下面的电路可参见《计算机电子线路与数字逻辑》(修订版),李新荃,王魁臣主编,东北大学1997年出版.

    表4-24全加器真值表

    S =A B C
    i i i i

    C =A B +B C +A C =A B +C (A B )
    i i i i i i i i i i i i
    下面的电路图可参见《实用逻辑电路分析与设计》,程林福,王雁汀编,上海科学技术文献出版社1981年出版。
    根据题意Ai为被加/被减数,Bi为加/减数,Ci-1为来自低位的进位/错位。相加(减)产生的“和”(“差”)及进位(借位)分别为Si/Di及Ci+/Ci-另外,为了控制作“加”或“减”运算,还必须有一个加减控制端OP。当OP=1时作全加,OP=0时作全减。根据二进制加减运算法则,可以列出真值表(表3.1)。
    (2)列逻辑函数式
    根据上面的真值表对两个输出逻辑函数式Si/Di和Ci+/Ci-分别列出“与或”逻辑函数式。为了书写简便起见,对真值表中的每一行编以十进序号,并以该行序号代替函数标准式中的每一个“与”项。(例如序号“0”代替“与”项OP C i-1 B i A i,"1"代替“与”项 OP C i-1 B i Ai)。因此
    Si/Di=∑(1、2、4、7、9、10、12、15),
    Ci+/Ci-=∑(2、4、6、7、11、13、14、15),
    (3)简化逻辑函数式
    分别将上述两个函数式中的每一项逐项读入卡诺图(图3.1、图3.2)。读入的小方格记“1”,其余均为“0”。

    分别对上面两个卡诺图中的小方格进行复合,并读出逻辑函数式如下:

    Si/Di=Ci-1(Ai Bi)+ Ci-1 (Ai Bi)

    =Ci-1 Bi Ai

    Ci+/Ci-=Ci-1Bi+Ci-1* Bi OP Ai +Ci-1 Bi OPAi+ Ci-1 Bi OP Ai +Ci-1 BiOPAi

    =C B +C B ( OP A +OPA )+C B ( OP A +OPA )
    i-1 I i-1 i i i i+ i i i

    =C B +(C B +C B )( OP A +OPA )
    i-1 i i-1 i i-1 i i i

      =C   B   +(C    B   )(   OP    A   )   
        i-1   I     i-1   I               i  
    

    =C B (C B )( OP A )
    i-1 i i-1 i i
    (4)画逻辑图
    根据上述求得的逻辑函数式可画出逻辑图(图3.3)

    第六部分 存储器电路
    下面的电路可参见《微计算机原理》严家万,张石民,何永明编,电子工业出版社1986年出版。

    二、可编程的只读存储器PROM
    在固定ROM中所存储的内容是由制造厂家在生产过程中事先确定的,在使用过程中用户不能作任何变动,这种ROM适用于同用的固定程序,而对于一些特殊的需要就不适合了。为此制造厂家设计了一种可编程的ROM,用户在使用前可以根据需要自行编制ROM中的内容。PROM的存储单元电路如图6.16所示。晶体管T的集电极连至电源,它的基极和字线相连,发射极通过熔丝和位线相连,串联在发射极上的熔丝可以是多晶硅材料,也可以是镍铬合金,出厂时熔丝全部接通,即管子的输出全部和位线相连。在使用前若利用编程写入器对选中的单元通以足够大的电流(一般在20~50毫安之间)将熔丝烧断,则晶体管输出不和位线相连。若设熔丝接通的单元输出逻辑0,则熔丝断开的单元一定输出逻辑1. 由于熔丝烧断后不能再恢复,所以PROM中存储的内容一经使用者写好不能再改变,换句话说,PROM的存储内容可以由使用者编写,但只能编写一次。

    三、可檫去可再编程的只读存储器(EPROM)
    (一)基本存储单元电路
    在制造ROM的过程中,若采用一个新型的器件——浮置雪崩结MOS电荷器件,这样制作的ROM在写入程序以后可以用紫外线擦去,擦去以后还可重新存储新的内容,具有这种功能的ROM称之为可擦去可再编程的ROM(EPROM)。为了说明EPROM的工作原理,首先介绍浮置栅雪崩结MOS电荷器件。浮置栅雪崩器件可以采用P沟道MOS管制作,也可以采用N沟道MOS管制作(如INTEL2706和2716等)。采用N沟道MOS管制作的电路如图6.17所示,由多晶硅材料制作的栅极与基底相隔1000埃,由于栅极被SiO2所包围,通常称为浮置栅,控制栅(又称选择栅),则直接连接到字线上。

    该电路的工作过程如下:平时浮置栅上没有积累电荷,管子的开启电压VT较低,若在其控制栅加上正向电压时管子呈现导通状态(这表示ROM所存的信息为1)。如果在漏极和衬底、漏极和源极之间加上+25伏的电压,这一电压足以衬底和漏极之间的反向PN结产生雪崩击穿,从而形成较大的电流,由于漏极接电源正端,源极接电源负端,漏源之间的电压在SiO2介质中产生电场,这一电场促使源极附近的电子向漏极运动,这一部分电子在向漏极运动的过程中被浮置栅“俘获”,亦即在浮置栅上产生电子积累。当漏源之间的+25伏电压移去后,在浮置栅上积累的电子就会在P型衬底与SiO2的交界处感应出空穴,即感应出P型沟道,这样使管子更不易导电,相当于管子开启电压VT提高。在这种情况下即使控制栅加上正向电压,管子仍不能导通(这表示ROM所存的信息为0)。当漏源之间正电压移去后,浮置栅上积累的电子由于没有放电通路,在125℃条件下经过10年之后仍能保存70%的电荷,这样使该器件长期处于截止状态。若要使它恢复,只要用紫外线照射1030分钟,在紫外线的照射下,光电流又使浮置栅上积累的电子回到衬底,浮置栅雪崩结MOS器件重新恢复到它的起始状态。上述的电路在实际工作时有两个缺点:一方面需要一个紫外线光源,另一方面擦去时间较长(约为1030分钟),在需要快速编程的场合,该电路就不适合了。目前有一种改进的电路即电擦去浮置栅雪崩结MOS器件(又称EAROM),其取数时间约为1微秒,擦去信息的时间和编程的时间一样,可减少到1秒。

    下面的电路可参见《计算机电子线路与数字逻辑》(修订版),李新荃,王魁臣主编,东北大学1997年出版。

    当时钟信号CP=1时,传输门TG1导通,TG2截止,这时,B=A,C= A ,输出端E和输入断开。E的状态不变,待CP=0之后,虽然TG1截止,但是,由于C1放电的时间常数非常非常大,所以C1上所有的电荷不易放掉,使B=A的状态得以保持。同时,由于TG2导通所以D=C= A 。经T2,T4构成的非门取反,使E= D =A。当CP变成高电平之后,TG2截止,C2上所存电荷同样不易放掉,使E=A直到CP再一次变为低电平为止。

    T1~T4构成基本RS触发器。用它记忆一位二值代码。T5,T6为门控管。当字线Xi=1时,T5,T6导通,使基本RS触发器的输出端Q和 Q 与位线D和 D 接通。这说明第i行的存储单元被选中。而在Xi=0时,T5,T6截止,基本RS触发器与位线之间的联系被切断。就是说这一行的存储单元没被选中。T7,T8是同一列存储单元共用的两个门控管。当Yi=1,T7,T8到庭,第i列的存储单元被选中。而Yi=0时,T7,T8截止,说明这一列的存储单元没被选中。R/ W 为读/写控制端。(I/O)为输入/输出端。在该存储单元被选中的前提下,R/ W =1时三态门A2,A3处于高阻态,A1处于工作状态。这时触发器输出端Q通过T5,T7与(I/O),端接通,将存储单元存放的数据读出。在R/ W =0时,三态门A1处在高阻态,而A2,A3处于工作状态。这时,将(I/O)的数据通过A2,A3得到两个互补数据。再经过门控管加到触发器的Q和 出 Q 端,达到了写入数据的要求。图8-6示出了用这种存储单元组成存储矩阵的连接方式。4096个存储单元排成64行乘64列矩阵,为4096*1位RAM。当行地址译码器输出X0=1,列地址译码器输出Y0=1时,第0行第0列的0-0存储单元被选中。每输入一个地址,就会选中一个存储单元。

    2.动态存储单元
    图8-7示出了三管动态MOS存储单元电路。T2为存储管。信号以电荷的形式存在T1管的栅极电容C上。电容C上的电压控制T1管的开关状态。T1为写门控管。T3为读门控管。T4为同一列存储单元共用的预充电管。这种存储单元的写字线和读字线是分开的。写字线控制写门控管T1,读字线控制读门控管T1. 进行读操作时,首先在T4的栅极加预充脉冲,使T4导通,对C0充电。其结果读位线上的电平为高电平。然后令读字线的电平为高电平,使T3导通。若电容C上存有电荷,且vc大于T2的开启电压,则T2导通,C0经T3,T2放电,使读位线的电平变为低电平。如果电容C上没有电荷,那么T2截止,Cd没有放电通路,读位线的电平仍然为预充的高电平,读位线的电平与电容C上的电压的相位相反,即与写位线上的电平相反。

    8.3.2RAM的结构
    图8-8示出了RAM的结构框图。它由地址译码器、存储矩阵、读/写控制电路组成。存储矩阵由若干个存储单元组成,用来存储二值代码。地址译码器将输入的地址码译成某一条字线信号,使这条字线上的存储单元被选中,然后才能进行读或写操作,读/写控制电路用来控制电路的工作状态。R/W=0时,进行写操作,R/W=1时,进行读操作。由于RAM芯片的集成度有限,所以一片RAM不可能满足大量数据存储的要求。为了用多片RAM组成一个容量更大的存储器,一般的RAM的读/写控制电路上都加片选输入端 CS (或CS)。













    物联沃分享整理
    物联沃-IOTWORD物联网 » 便捷实用的数字电路计算器工具

    发表评论