《高一数学必修3 十进制化k进制(算法案例 ) ppt1.ppt》由会员分享,可在线阅读,更多相关《高一数学必修3 十进制化k进制(算法案例 ) ppt1.ppt(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1.3 1.3 算法案例算法案例 第四课时第四课时 问题提出问题提出 1.1.“满几进一满几进一”就是几进制,就是几进制,k k进制进制使用哪几个数字,使用哪几个数字,k k进制数化为十进制数进制数化为十进制数的一般算式是什么?的一般算式是什么?2.2.利用利用k k进制数化十进制数的一般算进制数化十进制数的一般算式,可以构造算法,设计程序,通过计式,可以构造算法,设计程序,通过计算机就能把任何一个算机就能把任何一个k k进制数化为十进制进制数化为十进制数数.在实际应用中,我们还需要把任意一在实际应用中,我们还需要把任意一个十进制数化为个十进制数化为k k进制数的算法,对此,进制数的算法,对此
2、,我们作些理论上的探讨我们作些理论上的探讨.知识探究知识探究(一一):):除除k k取余法取余法思考思考1:1:二进制数二进制数101101101101(2 2)化为十进制化为十进制数是什么数?十进制数数是什么数?十进制数8989化为二进制数化为二进制数是什么数?是什么数?101101101101(2 2)=2=25 5+2+23 3+2+22 2+1=45.+1=45.89=289=2(2 2(2 2(2 2(2 22+12+1)+1+1)+0+0)+0+0)+1+1=1=12 26 6+0 02 25 5+1 12 24 4+1 12 23 3+0 02 22 2+0 02 21 1+1
3、12 20 0=1011001=1011001(2 2).思考思考2:2:上述化十进制数为二进制数的算上述化十进制数为二进制数的算法叫做法叫做除除2 2取余法取余法,转化过程有些复杂,转化过程有些复杂,观察下面的算式你有什么发现吗?观察下面的算式你有什么发现吗?21222502112222442891001101余数余数思考思考3:3:上述方法也可以推广为把十进制上述方法也可以推广为把十进制数化为数化为k k进制数的算法,称为进制数的算法,称为除除k k取余法取余法,那么十进制数那么十进制数191191化为五进制数是什么化为五进制数是什么数?数?0515753851911321余数余数191=
4、1231191=1231(5 5)思考思考4:4:若十进制数若十进制数 a a除以除以2 2所得的商是所得的商是q q0 0,余数是,余数是r r0 0,即即a=2a=2q q0 0+r+r0 0;q q0 0除以除以2 2所得的商是所得的商是q q1 1,余数是,余数是r r1 1,即即q q0 0=2=2q q1 1+r+r1 1;q qn-1n-1除以除以2 2所得的商是所得的商是0 0,余数是,余数是r rn n,即即q qn-1n-1=r=rn n,那么十进制数那么十进制数a a化为二进制数是什么数?化为二进制数是什么数?a=ra=rn nr rn-1n-1r r1 1r r0(2)
5、0(2)知识探究知识探究(二二):):十进制化十进制化k k进制的算法进制的算法 思考思考1:1:根据上面的分析,将十进制数根据上面的分析,将十进制数a a化化为二进制数的算法步骤如何设计?为二进制数的算法步骤如何设计?第四步,若第四步,若q0q0,则,则a=qa=q,返回第二步;,返回第二步;否则,输出全部余数否则,输出全部余数r r排列得到排列得到 的二进制数的二进制数.第一步,输入十进制数第一步,输入十进制数a a的值的值.第二步,求出第二步,求出a a除以除以2 2所得的商所得的商q q,余数,余数r.r.第三步,把所得的余数依次从右到左排列第三步,把所得的余数依次从右到左排列.思考思
6、考2:2:利用除利用除k k取余法,将十进制数取余法,将十进制数a a化为化为k k进制数的算法步骤如何设计?进制数的算法步骤如何设计?第四步,若第四步,若q0q0,则,则a=qa=q,返回第二步;,返回第二步;否则,输出全部余数否则,输出全部余数r r排列得到排列得到 的的k k进制数进制数.第一步,输入十进制数第一步,输入十进制数a a和基数和基数k k的值的值.第二步,求出第二步,求出a a除以除以k k所得的商所得的商q q,余数,余数r.r.第三步,把所得的余数依次从右到左排第三步,把所得的余数依次从右到左排 列列.思考思考3:3:将除将除k k取余法的算法步骤用程序框取余法的算法步
7、骤用程序框图如何表示?图如何表示?开始开始输入输入a,k求求a除以除以k的商的商q求求a除以除以k的余数的余数r把所得的余数依次从右到左排列把所得的余数依次从右到左排列a=qq=0?结束结束输出全部余数输出全部余数r排排列得到的列得到的k k进制数进制数是是否否思考思考4:4:该程序框图对应的程序如何表述?该程序框图对应的程序如何表述?开始开始输入输入a,k求求a除以除以k的商的商q求求a除以除以k的余数的余数r把所得的余数依次从右到左排列把所得的余数依次从右到左排列a=qq=0?结束结束输出全部余数输出全部余数r排排列得到的列得到的k k进制数进制数是是否否INPUT aINPUT a,k
8、kb=0b=0i=0i=0DODOq=a/kq=a/kr=a MOD kr=a MOD kb=b+r*10b=b+r*10i ii=i+1i=i+1a=qa=qLOOP UNTIL q=0LOOP UNTIL q=0PRINT bPRINT bENDEND理论迁移理论迁移 例例1 1 将十进制数将十进制数458458分别转化为四进分别转化为四进制数和六进制数制数和六进制数.041474284114445822031余数余数06261267664582402余数余数458=13022458=13022(4 4)=2042=2042(6 6)例例2 2 将五进制数将五进制数32413241(5 5
9、)转化为七进转化为七进制数制数.3024130241(5 5)=3=35 54 4+2+25 52 2+4+45+1=1946.5+1=1946.0757397278719460545余数余数3024130241(5 5)=5450=5450(7 7)小结作业小结作业 1.1.利用除利用除k k取余法,可以把任何一个取余法,可以把任何一个十进制数化为十进制数化为k k进制数,并且操作简单、进制数,并且操作简单、实用实用.2.2.通过通过k k进制数与十进制数的转化,进制数与十进制数的转化,我们也可以将一个我们也可以将一个k k进制数转化为另一个进制数转化为另一个不同基数的不同基数的k k进制数进制数.作业:作业:P45P45练习:练习:3.3.P48P48习题习题1.3A1.3A组:组:3 3,4.4.