《1.3算法案例(第三课时)》由会员分享,可在线阅读,更多相关《1.3算法案例(第三课时)(12页珍藏版)》请在金锄头文库上搜索。
1、算法案例(第三课时)一、进位制一、进位制1、什么是进位制?2、最常见的进位制是什么?除此之外还有哪些常见的进位制?请举例说明进位制是人们为了计数和运算方便而约定的记数系统。1、我们了解十进制吗?所谓的十进制,它是如何构成的?十进制由两个部分构成例如:3721其它进位制的数又是如何的呢?第一、它有0、1、2、3、4、5、6、7、8、9十个数字;第二、它有“权位”,即从右往左为个位、十位、百位、千位等等。(用10个数字来记数,称基数为10)表示有:1个1,2个十, 7个百即7个10的平方, 3个千即3个10的立方2、 二进制二进制是用0、1两个数字来描述的。如11001等()二进制的表示方法区分的
2、写法:11001(2)或者(11001)28进制呢? 如7342(8)k进制呢? anan-1an-2a2a1(k)?二、二进制与十进制的转换1、二进制数转化为十进制数例1 将二进制数110011(2)化成十进制数解: 根据进位制的定义可知所以,110011(2)=51。练习将下面的二进制数化为十进制数?(1)11(2)111(3)1111(4)111112、十进制转换为二进制(除2取余法:用2连续去除89或所得的商,然后取余数) 例2 把89化为二进制数解:根据“逢二进一”的原则,有892441 2 (2220)+1 2( 2( 2110)+0)+1 2 (2 (2 (2 51)+0)+0)
3、+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+23002189244144 222022 211011 2 51 2 (2 (2 (2 (2 21)+1)+0)+0)+1所以892(2(2(2(2 2 1)1)0)0)12、十进制转换为二进制例2 把89化为二进制数522212010余数11224889222201101注意:1.最后一步商为0,2.将上式各步所得的余数从下到上排列,得到:89=1011001(2)
4、练习将下面的十进制数化为二进制数?(1)10(2)20(3)128(4)256例3 把89化为五进制数3、十进制转换为其它进制解: 根据除k取余法以5作为除数,相应的除法算式为:所以,89=324(5)。895175350423余数将k进制数a转换为十进制数(共有 n位)的程序a=anan-1 a3a2a1(k) =ank(n-1)+an-1k(n-2)+ + a3k2 +a2k1+a1k0b=a1k0b=a2k1 +bb=a3k2 + bb=ankn-1 +bai=GET aiGET函数用于取出a的右数第i位数INPUT a,k,ni=1b=0WHILE i=nt=GET aib=t*k(i-1)+bi=i+1WENDPRINT bENDi=i+1i=1b=aiki-1+b小结与作业2 2、掌握二进制与十进制之间的转换、掌握二进制与十进制之间的转换1 1、进位制的概念、进位制的概念作业:课本P38,习题1.3第4题