算法案例--进位制_第1页
算法案例--进位制_第2页
算法案例--进位制_第3页
算法案例--进位制_第4页
算法案例--进位制_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、算法案例算法案例 进位制进位制1 1、什么是进位制?、什么是进位制?进位制进位制是人们为了是人们为了计数和运算方便计数和运算方便而约定的记数系统。而约定的记数系统。进位制是一种记数方式,用有限的进位制是一种记数方式,用有限的数字数字在不同的位在不同的位置表示不同的数值。可使用数字符号的个数称为基置表示不同的数值。可使用数字符号的个数称为基数,基数为数,基数为n n,即可称,即可称n n进位制,简称进位制,简称n n进制。进制。新课讲解:新课讲解: 比如: 满二进一,就是二进制;满二进一,就是二进制; 满十进一,就是十进制;满十进一,就是十进制; 满十二进一,就是十二进制;满十二进一,就是十二进

2、制; 满六十进一,就是六十进制满六十进一,就是六十进制“满几进一”就是几进制,几进制的基数就是几.基数:基数:2 2、最常见的进位制是什么?除此之外还有哪、最常见的进位制是什么?除此之外还有哪些常见的进位制?请举例说明些常见的进位制?请举例说明 最常见的进位制应该是我们数学中的最常见的进位制应该是我们数学中的十进十进制制,比如一般的数值计算,但是并不是生活比如一般的数值计算,但是并不是生活中的每一种数字都是十进制的中的每一种数字都是十进制的. 古人有古人有半斤八两半斤八两之说,就是之说,就是十六十六进制与进制与十十进制的转换进制的转换. 比如时间和角度的单位用六十进位制比如时间和角度的单位用六

3、十进位制, 计算计算“一打一打”数值时是数值时是12进制的。进制的。 电子计算机用的是二进制电子计算机用的是二进制 。 式中式中1 1处在百位,处在百位,2 2在十位,在十位,3 3所在个位。十进制数所在个位。十进制数是逢十进一的。是逢十进一的。 我们最常用最熟悉的就是十进制数,它的数值部分是十个不我们最常用最熟悉的就是十进制数,它的数值部分是十个不同的数字符号同的数字符号0 0,1 1,2 2,3 3,4 4,5 5,6 6,7 7,8 8,9 9来表示的。来表示的。十进制:十进制:例如例如1 12 23 3,它可用一个多项式来表示:,它可用一个多项式来表示:1 12 23=13=1* *1

4、0102 2+ +2 2* *10101 1+3+3* *10100 0 实际上,十进制数只是计数法中的一种,但它不是唯一实际上,十进制数只是计数法中的一种,但它不是唯一记数法。除了十进制数,生产生活中还会遇到非十进制的记数法。除了十进制数,生产生活中还会遇到非十进制的记数制。如时间:记数制。如时间:6060秒为秒为1 1分,分,6060分为分为1 1小时,它是六十进小时,它是六十进制的。两根筷子一双,两只手套为一副,它们是二进制的。制的。两根筷子一双,两只手套为一副,它们是二进制的。其它进制:其它进制: 二进制、七进制、八进制、十二进制、六十进制二进制只有0和1两个数字,七进制用06七个数字

5、十六进制有09十个数字及ABCDEF六个字母. 为了区分不同的进位制,常在数的为了区分不同的进位制,常在数的右下角右下角标明基数,标明基数,十进制一般不标注基数十进制一般不标注基数. .例如十进制的例如十进制的133.59133.59,写成,写成133.59133.59(10)(10)七进制的七进制的1313,写成,写成1313(7)(7);二进制的;二进制的1010,写成,写成1010(2) (2) 一般地,若一般地,若k是一个大于是一个大于1的整数,那么以的整数,那么以k为基数的为基数的k进制可以表示为一串数字连写在一起进制可以表示为一串数字连写在一起的形式:的形式:11 0( )110(

6、0,0, , ,).n nknnaaaaa kaa a k (16)(7)(12)(2)练习:下列写法正确的是: ( )A、751 B、751 C、095 D、90111 0( )110(0,0, ,).nnknna aaaakaa akA3 3、十进制的构成、十进制的构成十进制由两个部分构成十进制由两个部分构成例如:例如:3721其它进位制的数又是如何的呢?其它进位制的数又是如何的呢?第一、它有第一、它有0 09 9十个数字;十个数字;第二、它有第二、它有“数位数位”,即,即从右往左从右往左为个位、十位、为个位、十位、百位、千位等等。百位、千位等等。(用用10个数字来记数,称基数为个数字来记

7、数,称基数为10)01231011021071037213表示有:表示有:1个个1,2个十,个十, 7个百即个百即7个个10的平方,的平方,3个千即个千即3个个10的立方的立方十进制:十进制:“满十进一满十进一”探究:探究:P43P43110( )nnka aa akk若表示一个 进制数,请你把它写成各位上数字与 的幂的乘积之和的形式。110( )110110(10)nnknnnna aa aakakakak其它进制数化成十进制数公式二、二、 二进制二进制二进制是用二进制是用0 0、1 1两个数字来描述的如两个数字来描述的如1100111001二进制的表示方法二进制的表示方法区分的写法:区分的

8、写法:1100111001(2 2)01234(2)212020212111001八进制呢?八进制呢? 如如73427342(8)(8)k k进制呢?进制呢? a an na an-1n-1a an-2n-2aa1(k)1(k)?三、二进制与十进制的转换三、二进制与十进制的转换1 1、二进制数转化为十进制数、二进制数转化为十进制数例例1 1:将二进制数:将二进制数110011110011(2)(2)化成十进制数。化成十进制数。解:解:根据进位制的定义可知根据进位制的定义可知012345)2(21212020212111001112116132151所以,所以,110011110011(2 2)

9、=51=51110( )110110(10)nnknnnna aa aakakakak其它进制数化成十进制数公式1、将下面的二进制数化为十进制数?、将下面的二进制数化为十进制数?(1)11(2)110练习练习2、把其他进位制的数化为十进制数的公式是什么?、把其他进位制的数化为十进制数的公式是什么?例2、设计一个算法,将k进制数a(共有n位)转换为十进制数b。(1)算法步骤算法步骤:第一步,输入第一步,输入a,k和和n的值;的值;第二步,将第二步,将b的值初始化为的值初始化为0,i的值初始化为的值初始化为1;第三步,第三步,b=b+ai*ki-1, i=i+1第四步,判断第四步,判断in是否成立

10、是否成立.若是若是,则执行第五步则执行第五步,否则否则,返回第三步;返回第三步;第五步,输出第五步,输出b的值的值.(2)程序框图程序框图:开始开始输入输入a,k,nb=0i=1把把a的右数第的右数第i位数字赋给位数字赋给tb=b+t*ki-1i=i+1in?否否是是输出输出b结束结束(3)程序:程序:INPUT “a,k,n=”;a,k,nb=0i=1t=a MOD 10DO b=b+t*k(i-1) a=a10 t=a MOD 10 i=i+1LOOP UNTIL inPRINT bEND方法:除方法:除2取余法,即用取余法,即用2连续去除连续去除89或所得的商,然后取余数。或所得的商,然

11、后取余数。例、例、 把把89化为二进制数化为二进制数解:解:根据根据“逢二进一逢二进一”的原则,有的原则,有892441 2 (2220)+1 2( 2( 2110)+0)+1 2 (2 (2 (2 51)+0)+0)+15 2 212(2(2(2(221)1)0)0)189126025124123022021120所以:所以:89=1011001(2)2(2(2(2321)0)0)12(2(242220)0)12(2523+2200)12624+23002089244144 222022 211011 2 51 2 (2 (2 (2 (2 21)+1)+0)+0)+1所以所以892(2(2(

12、2(2 2 1)1)0)0)12、十进制转换为二进制、十进制转换为二进制注意:注意:1. 1.最后一步商为最后一步商为0 0,2.2.将上式各步所得的余数将上式各步所得的余数从下到上排列从下到上排列,得到:,得到: 89=101100189=1011001(2 2)另解(另解(除除2 2取余法的另一直观写法取余法的另一直观写法):):5 52 22 22 21 12 20 01 10 0余数余数11112222444489892 22 22 22 20 01 11 10 01 1练习练习将下面的十进制数化为二进制数?将下面的十进制数化为二进制数?(1 1)1010(2 2)2020例例1 1:

13、把:把8989化为五进制数。化为五进制数。3 3、十进制转换为其它进制、十进制转换为其它进制解:解:根据根据除除k k取余法取余法以以5 5作为除数,相应的除法算式为:作为除数,相应的除法算式为:所以,所以,89=32489=324(5 5)89895 517175 53 35 50 04 42 23 3余数余数(2)程序框图:)程序框图:开始开始输入输入a,k 求求a除以除以k的商的商q 求求a除以除以k的余数的余数rq=0?是是否否 a=q 将依次输出的将依次输出的r从右到左排列从右到左排列结束结束输出输出r(3)程序:程序:INPUT “a,k=”;a,kb=0i=0DO q=ak r=

14、a MOD k b=b+r*10i i=i+1 a=qLOOP UNTIL q=0PRINT bEND练习:练习:完成下列进位制之间的转化:完成下列进位制之间的转化:(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的

15、幂的乘积之和的形式,再按照十进制数的运算规则计算出结果。小结小结 3十进制数转化为k进制数的方法:(除除k取余法取余法) 用k连续去除该十进制数或所得的商,直到商为零为止,然后把每次所得的余数倒着排成一个数,就是相应的k进制数。课后检测:课后检测: 1.十进制数使用十进制数使用09十个数字计数,那么二进制使十个数字计数,那么二进制使用哪几个数字计数,八进制呢?十六进制呢?用哪几个数字计数,八进制呢?十六进制呢? 2.k进制数的一般形式是什么?进制数的一般形式是什么? 3.一个十进制数可以表示成不同位上的数字与一个十进制数可以表示成不同位上的数字与10的幂的乘积的形式,其它进位制的数是否也可以的

16、幂的乘积的形式,其它进位制的数是否也可以这样表示?如果可以,请填空这样表示?如果可以,请填空 4.根据例根据例3你能总结出将一个你能总结出将一个k进制数转化成十进进制数转化成十进制数的方法吗?你能用程序框图和程序表示这一制数的方法吗?你能用程序框图和程序表示这一算法吗?算法吗? 5.根据例根据例5你能总结出将一个十进制数转化成你能总结出将一个十进制数转化成k进进制数的方法吗?你能用程序框图和程序表示这一制数的方法吗?你能用程序框图和程序表示这一算法吗?算法吗?二进制:二进制:八进制:八进制:十六进制:十六进制:0 10,1, 2, 3, 4, 5, 6, 70 , 1 , 2 , 3 , 4

17、, 5 , 6 , 7 , 8 , 9 , A , B , C , D , E , F 10 11 12 13 14 15K K进制数的一般形式:进制数的一般形式:110nnkaaa a 其中其中110110,0,0, , ,nnnna aa aNakaa ak注意:最高位不能是注意:最高位不能是0 0236(7)=10011(2)=3452(6)=110 ()nnka aa a 210273 767 432101 20 20 21 2 1 2 32103 64 65 62 6 110110nnnnakakakak120 19391K K进制数转化成十进制数的方法:进制数转化成十进制数的方法:

18、 先将先将k进制数写成各位上数字与进制数写成各位上数字与k的幂的乘积之和的形式,再按照的幂的乘积之和的形式,再按照十进制数的运算规则计算出结果十进制数的运算规则计算出结果练习:将下面的数转化成十进制数练习:将下面的数转化成十进制数(3)10212(8)2376=104=1278方幂法方幂法在此过程中有没有反复操作的步骤在此过程中有没有反复操作的步骤循环结构循环结构变量及其初始值变量及其初始值循环体循环体控制条件控制条件b=0i=1t=a MOD10b=b+t*k(i-1)a=a10i=i+1in或in?否否是是输出输出b结束结束程序框图程序框图INPUT a,n,kb=0i=1DO t=a MOD 10 b=b+t*k (i-1) a=a10 i=i+1LOOP UNTIL inPRINT bEND 思考思考:如果不如果不知道知道k进制数进制数a有有n位,那么用位,那么用什么条件来控什么条件来控制循环制循环十进制数化十进制数化k k进制数的方法:进制数的方法: 除除k取余法(取余法(从下到上从下到上)练习:练习:将将137转化成转化成6进制数为:进制数为:将

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论