1、第2课时 进位制,1.上一节学习的算法分别是什么?辗转相除法、更相减损术、秦九韶算法2.它们的作用分别是什么?辗转相除法、更相减损术求两整数的最大公约数秦九韶算法求多项式的值,进位制的由来,人类在长期的生产劳动中创造了数字,为了方便读写和计算,逐渐地产生了进位制.古罗马人采取60进制,玛雅人使用20进制,中国、埃及、印度等国主要采取10进制,而近代由于计算机的诞生,二进制应运而生.,计算机为何采用二进制?,1.二进制只有0和1两个数字,要得到表示两种不同稳定状态的电子器件很容易,而且制造简单,可靠性高.,2.在各种计数中,二进制的算法逻辑简单,有布尔逻辑代数做理论依据,简单的运算规则使得机器内
2、部的操作也变得简单,如加法法则只有4条:0+0=0,0+1=1,1+0=1,1+1=10,而十进制加法法则从0+0=0到9+9=18需要100条;乘法法则也是这样:00=0,01=0,10=0,11=1,十进制的乘法法则要由一张“九九表”来规定,比较复杂.,1.理解进位制的概念.2.学习各种进位制转换成十进制的计算方法, 研究十进制转换为各种进位制的除k去余法, 并理解其中的数学规律.(重点)3.能运用几种进位制之间的转换,解决一些有关的问题.(难点),思考1:什么是进位制?进位制是为了计数和运算方便而约定的记数系统,如逢十进一,就是十进制;每七天为一周,就是七进制;每十二个月为一年,就是十二
3、进制;每六十秒为一分钟,每六十分钟为一个小时,就是六十进制等等.也就是说,“满几进一”就是几进制,几进制的基数就是几.,探究点1 进位制的概念,思考2:最常见的进位制是什么?除此之外还有哪些常见的进位制?请举例说明,(1)最常见的进位制应该是我们数学中的十进制,比如一般的数值计算,但是并不是生活中的每一种数字都是十进制的.(2)古人有半斤八两之说,就是十六进制与十进制的转换.(3)比如时间和角度的单位用六十进位制, 计算“一打”数值时是12进制的.(4)电子计算机用的是二进制.,十进制数4 528表示的数可以写成4103+5102+2101+8100,依此类比,,二进制数110 011(2),
4、八进制数7 342(8)分别可以写成什么式子?110 011(2)=125+124+023+022+121+ 1207 342(8)=783+382+481+280.,思考3,思考4 我们最熟悉的十进制数,它的数值部分是用十个不同的数字符号0,1,2,3,4,5,6,7,8,9来表示的。那么其他进制分别用哪些数值来表示?,二进制只有0和1两个数字,七进制用06七个数字,十六进制有09十个数字及ABCDEF六个字母.,注意:为了区分不同的进位制,常在数字的右下脚标明基数,如111001(2)表示二进制数,34(5)表示5进制数.而十进制数一般不标注基数.,思考5,一般地,如何将k(k1,kZ)进
5、制数anan-1a1a0(k)写成各数位上的数字与基数k的幂的乘积之和的形式?anan-1a1a0(k)=ankn+an-1kn-1+a1k1+a0k0,一般地,若k是一个大于1的整数,那么以k为基数的k进制数可以表示为一串数字连写在一起的形式,anan-1a1a0(k) (0ank,0an-1,a1,a0n 是否成立.若是,则执行第五步;否则,返回第三步.第五步,输出b的值.,(2)程序框图,开始,输入a,k,n,b=0,i=1,把a的右数第i位数字赋给t,b=b+tki-1,i=i+1,in?,结束,是,输出b,否,(3)程序,INPUT“a,k,n=”;a,k,nb=0i=1t=a MO
6、D 10DOb=b+t*k(i-1)a=a10t=a MOD 10i=i+1LOOP UNTIL inPRINT bEND,例3 把89化为二进制数.,除k取余法,解:根据二进制数“满二进一”的原则,可以用2连续去除89或所得商,然后取余数.,探究点3,具体计算方法如下:因为 89=244+1, 44=222+0, 22=211+0, 11=25+1, 5=22+1, 2=21+0, 1=20+1,所以 89=2(2(2(2(22+1)+1)+0)+0)+1 =2(2(2(2(22+1)+1)+0)+0)+1 = =126+025+124+123+022+021+120 =1011001(2)
7、,上述化十进制数为二进制数的算法叫做除2取余法,,还可以用下面的除法算式表示:,短除法,将十进制数458分别转化为四进制数和六进制数.,解:458=13022(4)=2042(6),【变式练习】,例4 设计一个程序,实现“除k取余法”(kN,2k9).解:第一步,输入十进制数a和基数k的值.第二步,求出a除以k所得的商q,余数r.第三步,把所得到的余数依次从右到左排列.第四步,若q0,则a=q,返回第二步;否则,输出全部余数r排列得到的k进制数.,程序框图:,开始,输入a,k,求a除以k的商q,求a除以k的余数r,把所得的余数依次从右到左排列,a=q,q=0?,结 束,输出全部余数r排列得到的
8、k进制数,是,否,程序:,INPUT“a, k=”;a,kb=0i=0DO q=ak r=a MOD k b=b+r*10i i=i+1 a=qLOOP UNTIL q=0PRINT bEND,将五进制数30241(5)转化为七进制数.,30241(5)=354+252+45+1=1 946.,30241(5)=5450(7),【变式练习】,1.下列写法正确的是( )A.751(16) B.751(7)C.095(12) D.901(2),A,2.下面几个不同进制的数中,最小的数是( )A.1011100(2) B.41 C.47(8) D.2E(18),C,3.完成下列进位制之间的转化:(1
9、)10231(4)= (10);(2)235(7)= (10);(3)137(10)= (6);(4)1231(5)= (7).,301,345,124,362,4.二进制数101101(2)化为十进制数是什么数?【解析】101101(2)=25+23+22+1=45.,5.试将10101(2)化成十进制数.,【解析】 10101(2)=124+023+122+02+1=16+4+1=21.所以10101(2)=21.,1.进位制的表示若一个数为十进制数,则其基数可以省略不写,若是其他进位制的数,在没有特别说明的前提下,其基数必须写出,常在数的右下角标明基数.,2.常见的进位制(1)二进制:只使用0和1两个数字;满二进一,如1+1=10(2).(2)八进制:使用0,1,2,3,4,5,6,7八个不同的数字;满八进一,如7+1=10(8).,(3)十六进制:使用0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F这十六个不同的数码,其中A,B,C,D,E,F分别代表十进制中的10,11,12,13,14,15;满十六进一,如F+1=2+E=10(16).,生命不等于是呼吸,生命是运动.卢梭,