1、1.3 算法案例(二),第一章 算法初步,学习目标 1.了解生活中的各种进位制,了解计算机内部运算为什么选择二进制. 2.学会各种进位制转换成十进制的计算方法. 3.会用除k取余法把十进制转换为各种进位制,并理解其中的数学规律.,问题导学,达标检测,题型探究,内容索引,问题导学,知识点一 进位制,思考 59分59秒再过1秒是多少时间? 答案 1小时. 上述计时法遵循的是满60进一,称为六十进制.类比给出k进制的概念. “满k进一”就是k进制,k进制的基数是k.,梳理 一般地,若k是一个大于1的整数,那么以k为基数的k进制数可以表示为一串数字连写在一起的形式anan1a1a0(k)(an,an1
2、,a1,a0N,0ank,0an1,a1,a0k). 为了区分不同的进位制,常在数的右下角标明基数,如二进制数10(2),六进制数341(6),十进制数一般不标注基数.,思考 2小时3分4秒共多少秒? 答案 共260236047 384秒. 梳理 一般地,将k进制数anan1a1a0(k)转化为十进制: anan1a1a0(k)anknan1kn1a1k1a0k0.,知识点二 k进制化为十进制,知识点三 除k取余法,思考 7 384秒是多少小时多少分多少秒? 答案 7 384123604,即123分钟4秒.而123分钟2603,即2小时3分.故7 384秒是2小时3分4秒. 梳理 一般地,把十
3、进制的数化为k进制的数的方法是: 把十进制数除以k,余数为k进制的个位数.把商再除以k,余数为k进制倒数第二位数;依次除以k,直至商为0.这个方法称为除k取余法.,思考辨析 判断正误 1.二进制数中可以出现数字3.( ) 2.把十进制数转化成其它进制数的方法是除k取余法.( ) 3.不同进制数之间可以相互转化.( ),题型探究,例1 二进制数110 011(2)化为十进制数是什么数? 解 110 011(2)12512402302212112032162151.,类型一 k进制化为十进制,解答,反思与感悟 将k进制数anan1a1a0(k)化为十进制数的方法:把k进制数anan1a1a0(k)
4、写成各数位上的数字与基数k的幂的乘积之和的形式,然后计算出结果即为对应的十进制数.,跟踪训练1 (1)把二进制数1 110 011(2)化为十进制数. 解 1 110 011(2)126125124023022121120115. (2)将8进制数314 706(8)化为十进制数. 解 314 706(8)385184483782081680104 902. 所以,化为十进制数是104 902.,解答,类型二 十进制化k进制,例2 将十进制数458分别转化为四进制数和六进制数.,解答,解 算式如图,,则45813 022(4)2 042(6).,反思与感悟 十进制数化为k进制数的思路为,跟踪训
5、练2 把89化为二进制数.,解答,解 算式如图,,则891 011 001(2).,类型三 两种非十进制互化,例3 324(5)化为二进制数是_.,答案,解析,1 011 001(2),解析 先将五进制数324(5)化为十进制数:324(5)35225489, 再把十进制数89化成二进制数的算法如图.,得1 011 001(2),324(5)化为二进制数是1 011 001(2).,反思与感悟 两种非十进制之间转化以十进制为中转站.,跟踪训练3 将七进制数235(7)化为八进制数为_. 解析 235(7)272371570124, 利用除8取余法可得124174(8), 所以235(7)174
6、(8).,174(8),答案,解析,达标检测,答案,解析,1.已知175(r)125(10),则r的值为 A.1 B.5 C.3 D.8 解析 1r27r15r0125, r27r1200, r8或r15(舍去), r8,故选D.,1,2,3,4,5,答案,解析,2.下列各数中,最小的数是 A.85(9) B.210(6) C.1 000(4) D.111 111(2) 解析 85(9)89577,210(6)26216078,1 000(4)14364,111 111(2)12512412312212163. 故最小的是63.,1,2,3,4,5,3.把189化为三进制数,则末位数是 A.0
7、 B.1 C.2 D.3,1,2,3,4,5,解析,答案,解析 采用“除k取余法”,得,即18921 000(3).,解析,4.已知1 0b1(2)a02(3),则ab的值为 A.0 B.1 C.2 D.3,1,2,3,4,5,答案,解析 1 0b1(2)123b212b9, a02(3)a3229a2,2b99a2,即9a2b7. a1,2,b0,1, 当a1,b1时符合题意,,a1,b1,即ab2,,故选C.,1,2,3,4,5,5.(1)将二进制数 (2)转化成十进制数;,解答,解 (2)121512141211202161.,(2)将53(8)转化为二进制数.,解 先将八进制数53(8)转化为十进制数: 53(8)58138043; 再将十进制数43转化为二进制数的算法如图. 所以53(8)101 011(2).,1.要把k进制数化为十进制数,首先把k进制数表示成不同 位上数字与k的幂的乘积之和,其次按照十进制的运算规则计算和. 2.十进制数化为k进制数(除k取余法)的步骤:,规律与方法,3.把一个非十进制数化为另一个非十进制数时,要先把这个数化为十进制数,再利用“除k取余法”化为另一个非十进制数.,