资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,进位制,算法案例,(第三课时),一、进位制,1,、什么是进位制?,进位制是人们为了计数和运算方便而约定的记数系统。,进位制是一种记数方式,用有限的,数字,在不同的位置表示不同的数值。可使用数字符号的个数称为基数,基数为,n,,即可称,n,进位制,简称,n,进制。,新课讲解:,比如:,满二进一,就是二进制;,满十进一,就是十进制;,满十二进一,就是十二进制;,满六十进一,就是六十进制,基数:,“,满几进一”就是几进制,几进制的基数就是几,.,2,、最常见的进位制是什么?,最常见的进位制应该是我们数学中的十进制,比如一般的数值计算,但是并不是生活中的每一种数字都是十进制的,.,古人有,半斤八两,之说,就是十六进制与十进制的转换,.,比如时间和角度的单位用六十进位制,计算“一打”数值时是,12,进制的。,电子计算机用的是二进制。,式中,1,处在百位,第一个,3,所在十位,第二个,3,所在个位,,5,和,9,分别处在十分位和百分位。十进制数是逢十进一的。,我们最常用最熟悉的就是十进制数,它的数值部分是十个不同的数字符号,0,,,1,,,2,,,3,,,4,,,5,,,6,,,7,,,8,,,9,来表示的。,十进制:,例如,133.59,,它可用一个多项式来表示:,133.59=1*10,2,+3*10,1,+3*10,0,+5*10,-1,+9*10,-2,实际上,十进制数只是计数法中的一种,但它不是唯一,记数法。除了十进制数,生产生活中还会遇到非十进制的,记数制。如时间:,60,秒为,1,分,,60,分为,1,小时,它是六十进,制的。两根筷子一双,两只手套为一副,它们是二进制的。,其它进制:,二进制、七进制、八进制、十二进制、,六十进制,二进制只有,0,和,1,两个数字,七进制用,06,七个数字,十六进制有,09,十个数字及,ABCDEF,六个字母,.,为了区分不同的进位制,常在数的右下角标明基数,十进制一般不标注基数,.,例如十进制的,133.59,,写成,133.59,(10),七进制的,13,,写成,13,(7),;二进制的,10,,写成,10,(2),一般地,若,k,是一个大于,1,的整数,那么以,k,为基数的,k,进制可以表示为一串数字连写在一起,的形式:,A,3,、十进制的构成,十进制由两个部分构成,例如:,3721,其它进位制的数又是如何的呢?,第一、它有,0,9,十个数字;,第二、它有,“,数位,”,,即,从右往左,为个位、十位、百位、千位等等。,表示有:,1,个,1,,,2,个十,,7,个百即,7,个,10,的平方,,3,个千即,3,个,10,的立方,十进制:“满十进一”,探究:,P40,其它进制数化成十进制数公式,二、二进制,二进制是用,0,、,1,两个数字来描述的如,11001,二进制的表示方法,区分的写法:,11001,(,2,),或者,(11001),2,八进制呢?,如,7342,(8),k,进制呢?,a,n,a,n-1,a,n-2,a,1(k),?,三、二进制与十进制的转换,1,、二进制数转化为十进制数,例,1,:将二进制数,110011,(2),化成十进制数。,解:,根据进位制的定义可知,所以,,110011,(,2,),=51,其它进制数化成十进制数公式,1,、将下面的二进制数化为十进制数?,(,1,),11,(,2,),110,练习,2,、把其他进位制的数化为十进制数的公式是什么?,例,2,、设计一个算法,将,k,进制数,a(,共有,n,位,),转换为十进制数,b,。,(1),算法步骤,:,第一步,输入,a,k,和,n,的值;,第二步,将,b,的值初始化为,0,i,的值初始化为,1,;,第三步,,b=b+a,i,*k,i-1,i=i+1,第四步,判断,in,是否成立,.,若是,则执行第五步,否则,返回第三步;,第五步,输出,b,的值,.,(2),程序框图,:,开始,输入,a,k,n,b=0,i=1,把,a,的右数第,i,位数字赋给,t,b=b+t*k,i-1,i=i+1,in?,否,是,输出,b,结束,INPUT“a,k,n=”;a,k,n,b=0,i=1,DO,t=a MOD 10,a=a10,b=b+t*k(i-1),i=i+1,LOOP UNTIL in,PRINT b,END,(3),程序:,方法:除,2,取余法,即用,2,连续去除,89,或所得的商,然后取余数。,例、把,89,化为二进制数,解:,根据“逢二进一”的原则,有,89,2,44,1,2,(2,22,0),+1,2(2,(2,11,0),+0)+1,2(2(2,(2,5,1),+0)+0)+1,5,2,2,1,2,(,2,(,2,(,2,(,2,2,1,),1,),0,),0,),1,89,12,6,02,5,12,4,12,3,02,2,02,1,12,0,所以:,89=1011001,(,2,),2,(,2,(,2,(,2,3,2,1,),0,),0,),1,2,(,2,(,2,4,2,2,2,0,),0,),1,2,(,2,5,2,3,+2,2,0,0,),1,2,6,2,4,+2,3,0,0,2,0,89,2,44,1,44,2,22,0,22,2,11,0,11,2,5,1,2(2(2,(,2,(2,2,1),+1),+0)+0)+1,所以,89,2,(,2,(,2,(,2,(,2 2,1,),1,),0,),0,),1,2,、十进制转换为二进制,注意:,1.,最后一步商为,0,,,2.,将上式各步所得的余数,从下到上排列,,得到:,89=1011001,(,2,),另解(,除,2,取余法的另一直观写法,):,5,2,2,2,1,2,0,1,0,余数,11,22,44,89,2,2,2,2,0,1,1,0,1,练习,将下面的十进制数化为二进制数?,(,1,),10,(,2,),20,例,1,:把,89,化为五进制数。,3,、十进制转换为其它进制,解:,根据,除,k,取余法,以,5,作为除数,相应的除法算式为:,所以,,89=324,(,5,),89,5,17,5,3,5,0,4,2,3,余数,例,2,、设计一个程序,实现“除,k,取余法”。,(1),、算法步骤:,第一步,给定十进制正整数,a,和转化后的数的基数,k,;,第二步,求出,a,除以,k,所得的商,q,余数,r,;,第三步,若,q 0,则,a=q,返回第二步;否则,执行第四步;,第四步,将依次得到的余数从右到左排列,得到,k,进制数。,(,2,)程序框图:,开始,输入,a,k,求,a,除以,k,的商,q,求,a,除以,k,的余数,r,q=0?,是,否,a=q,输出全部余数,r,排列得到的,k,进制数,结束,把所得的余数依次从右到左排列,(3),程序:,INPUT“a,,,k=”,;,a,k,b=0,i=0,DO,q=ak,r=a MOD k,b=b+r*10i,i=i+1,a=q,LOOP UNTIL q=0,PRINT b,END,练习:,完成下列进位制之间的转化:,(,1,),10231,(,4,),=,(,10,),;,(,2,),235,(,7,),=,(,10,),;,(,3,),137,(,10,),=,(,6,),;,(,4,),1231,(,5,),=,(,7,),;,(,5,),213,(,4,),=,(,3,),;,(,6,),1010111,(,2,),=,(,4,),。,1,进位制是一种记数方式,用有限的,数字,在不同的位置表示不同的数值。可使用数字符号的个数称为基数,基数为,k,,即可称,k,进位制,简称,k,进制。,k,进制需要使用,k,个数字;,2,十进制与二进制之间转换的方法;,先把这个,k,进制数写成用各位上的数字与,k,的幂的乘积之和的形式,再按照十进制数的运算规则计算出结果。,小结,3,十进制数转化为,k,进制数的方法:(,除,k,取余法,),用,k,连续去除该十进制数或所得的商,直到商为零为止,然后把每次所得的余数倒着排成一个数,就是相应的,k,进制数。,
展开阅读全文