第九讲二进制小数
.
文档贡献者:与你的缘我们曾经学了二进制以及八、十六及各种进制的整数,以及它们的加减乘除四则运算.大家必然会提问:与十进制分数、小数类似的二进制分数、小数,如何推广过来?
一个二进制分数,就是,a是二进制整数,b≠0也是二进制整数。
一个二进制小数,不妨先讲纯小数:0<n<1,
n=0.b1b2b3…bi…,每个bi或为0,或为1.(bi不全为0,也不
ab全为1)。
b1所在的位称为分位;
1
分位;221
b3:3分位;
2
12
b2:
……bi:
11分位。(类似于十进制小数0.aaa…,a为分位,a2为1231i210
1
分位,…)102
二进制小数的运算也和十进制小数运算相类似,差别在于这里是“逢二进一”,“退一还二”.
十进制小数化为二进制小数,主要通过分数作中间媒介.例
将(0.3)10化为二进制小数.(用(a)k表示k进位数).
这表示十进制有限小数可能化成二进制循环小数.
本节重点讲二进制循环小数如何化为二进制分数.回忆十进制循环小数化分数,一是要学习推理中的思想方法,二是最好归纳成一个易用易记的公式.
十进制循环小数化分数一般公式:
这些公式的推导过程如下,请体会思想方法.
其实公式②中,当s=0时,就是公式①,复杂的公式②是借用简单情况下的公式①推来.推出后①包含在②之中.
对于二进制循环小数化二进制分数,也可同样推导.
从推导和记忆规则看,公式(1)和(2)与十进制公式①和②相仿.那么读者一定会归纳出任意进制的循环小数化分数的公式.
例1
化(0.001)2为二进制分数,十进制分数。
•
•
解:用公式(1)
11
(0.001)2=()2=()10
1117
•
•
例2
化(0.0714285)10与(0.0101)2为十进制分数。
714285−0511
=×=()10
999999071014
••101−05(0.0101)2=()2=()10
111014
•
•
••••
解:(0.0714285)10=
例3化(0.100111011)2为二进制分数.解:由公式(2)
(0.100111011)2=
•
•
••
100111011−1001111110000100110010=
11111000010011001=
11111000
直接检验
现在再看推导公式的方法,关键是把循环小数的值设为S,好比列方程设未知数,而10kS-S恰好消去了“烫手”的无限长的小数部分,推出“方程”S(10k-1)=a1a2...ak,立刻求解出S。
这样的思想,在研究等比数列时也用到了.以前讲过有限项数列:a1,a2,a3,…,ai,…,an.所谓等比数列,即它每一项都是前一项乘上一公共值q,也即:
a1,a2=a1q,a3=a2q,…,ai=ai-1q,…,an=an-1q,或
a1,a2=a1q,a3=a1q2,…,ai=a1qi-1,…,an=a1qn-1.现在要求出a1+a2+a3+…+ai+…+an.
思想方法:第一步:
设S=a1+a2+…+an=a1+a1q+a1q2+…+a1qn-1.上式两边乘上q,作为第二步:qS=a1q+a1q2+…+a1qn-1+a1qn.当q<1时,用上式两边减下式两边,得到S-qS=a1-a1qn,
a1−a1qn即有S=
1−q公式(3)称为公比小于1的等比级数前n项求和公式.它叙述为:前n项和等于首项与首项乘公比的n次幂的差除以1与公比之差.
a1qn−a1
类似地可推导出:当q>1时,S=(q>1)。
q−1
例4
111111111+×+×+×+×77214228256211111=++++=S7142856112
11
用公式(3),q=,a1=,n=5.
27
11[1−()5]
2(25−1)3172S===5
17⋅21121−2
最后以一个很精彩的例来结束本节(本例选自美国1993年第四十四届高中数学竞赛第30题.虽是高中竞赛题,但本讲知识可解此题)
例5
x0是任意取定的数,满足0≤x0<1,对于所有的自然数n,
xn由下述递推的关系式确定:
求使得x0=x5的x0的个数.
分析所谓递推关系式,就是一旦给定了一个初始值x0,例如取x0
=,就可由x0推算出x1=;由x1得x1=,…直到任意的xn。(当
4877222x1=<1,∴x2=。
7747
17
27
x0=,2x0=>1,由规定,∵2x0≥1,∴x1=2x0-1=-1=,∵
8717
再由x2推x3。同样∵2x2=<1,∴x3=。
总之,后项取决于前项的2倍值,当前项2倍值大于1时,就取该值;不小于1时(决不会超过2)就取它与1的差值.)
如果我们设x0是一个二进制小数,即设x0=(0.d1d2d3…)2,那么
2x0=(10)2×(0.d1d2d3…)2=(d1·d2d3d4…)2,
即2x0。只是把x0的二进制表示中的小数点向右移一位.因此2x0<1相当于d1=0,2x0≥1相当于d1=1;那么按递推关系式的规定,x1变得特别简明:
x1=(0.d2d3d4d5…)2.
因为如果d1=0,即2x0<1,则x1=2x0=(0.d2d3d4…)2;如果d1=1,即2x0≥1,则x1=2x0-1=(1.d2d3d4…)2-1=(0.d2d3d4…)
2,同样的规律,在由
4
747
xi求xi+1时也成立,i=1,2,…,即
x2=(0.d3d4d5d6…)2;x3=(0.d4d5d6…)2;x4=(0.d5d6d7…)2;x5=(0.d6d7d8…)2;
按条件应有x0=x5,即:
(0.d1d2d3d4d5d6d7d8d9d10…)2=(0.d6d7d8d9d10d11d12d13…)2,这相当于x0是循环节为5的二进制纯循环小数,即
x0=(0.d1d2d3d4d5)2
•
•
由于每一个di的值,只有0,1两种可能,所以:x0有25=32个可能值,它们依小到大排成:
0=0.00000,0.00001,0.00010,0.00011,…,0.11110,
0.111111=1。
•
•
•
•
•
•
•
•
•
•
•
•
但别忘了题设限定0≤x0<a,x0小于1,而由公式(1)知循环小数0.111111等于1,所以真正符合要求的值有31个。
•
•
习题九
1.请你写出把三进制循环小数化为分数的公式:
(0.d1d2...dk)3=____________;(0.x1x2...x3d1d2...dk)3=____________。
•
•
•
•
2.把下列十进制小数化二进制小数.(0.1)10
(0.01)10
3.把下面各循环小数化为分数,注意进制,并请把4个数由小到大排序.
(0.101)2
•
•
(0.101)3
••
(0.101)8
••
(0.101)10
••
4.循环小数化十进制分数:
(10.1101)2,(10.296)10,(1.732)8
•
•
••
••
5,求和:33+()2+34+()3+35+()4+()5
6.仿例5,设x0是0≤x0<1的数,并对所有自然数n有递推式:
13131313
求使得x0=x3的x0的所有可能值(用三进制求解),并把最小的和最大的非零数化十进制数验证.这里[x]表示取x的下整数.即不超过x的最大整数.
7.同本讲最后一例中各条件,0≤x0<1,递推式
改动为:求使x0=x3的所有十进制的x0值。
因篇幅问题不能全部显示,请点此查看更多更全内容