1.3算法案例(2课时)2013.5.30.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.3算法案例(2课时)2013.5.30

三、进位制 进位制是为了计数和运算方便而约定的记数系统. 满二进一,就是二进制; 满十进一,就是十进制; 七天为一周,就是七进制; 十二个月为一年,就是十二进制; 六十秒为一分钟,六十分钟为一个小时,就是六十进制;等等. 满几进一”就是几进制. “满K进一”就是K进制,其中k称为k进制的基数. 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等 二进制的表示方法 二进制的写法:11001(2)或者(11001)2 8进制呢? 如732(8) k进制呢? anan-1an-2…a2a1(k)? 5进制呢? 如1342(5) 6进制呢? 如1345(6) 3进制呢? 如112(3) 3、二进制与十进制的转换 1、二进制数转化为十进制数 例1 将二进制数110011(2)化成十进制数 解: 根据进位制的定义可知 所以,110011(2)=51。 开始 输入a,k,n b=0 i=1 把a的右数第i位数字赋给t b=b+t·ki-1 i=i+1 in? 结束 是 输出b 否 K进制数转化为十进制 程序框图 练习 1.将下面的二进制数化为十进制数? (1)11 (2)111 (3)1111 (4)11111 2、十进制转换为二进制 (除2取余法:用2连续去除89或所得的商,然后取余数) 例2 把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×(22+1)+1)+0)+0)+1 89=1×26+0×25+1×24+1×23+0×22+0×21+1×20 所以:89=1011001(2) =2×(2×(2×(23+2+1)+0)+0)+1 =2×(2×(24+22+2+0)+0)+1 =2×(25+23+22+0+0)+1 =26+24+23+0+0+21 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 余数 注意: 1.最后一步商为0, 2.将上式各步所得的余数从下到上排列,得到:89=1011001(2) 1 0 0 1 1 0 1 2 2 2 2 2 2 2 5 2 1 0 11 22 48 89 ! 练习 将下面的十进制数化为二进制数? (1)10 (2)20 (3)128 (4)256 例4 把89化为五进制数 3、十进制转换为其它进制 解: 根据除k取余法 以5作为除数,相应的除法算式为: 所以,89=324(5)。 89 5 17 5 3 5 0 4 2 3 余数 将k进制数a转换为十进制数(共有 n位)的程序 a=anan-1… a3a2a1(k) =ank(n-1)+an-1k(n-2)+ … + a3k2 +a2k1+a1k0 b=a1k0 b=a2k1 +b b=a3k2 + b … b=ankn-1 +b ai=GET a[i] GET函数用于取出a的右数第i位数 INPUT a,k,n i=1 b=0 WHILE i=n t=GET a[i] b=t*k^(i-1)+b i=i+1 WEND PRINT b END i=i+1 i=1 开始 输入a,k 求a除以k的商q 求a除以k的余数r 把所得的余数依次从右到左排列 a=q q=0? 结束 输出全部余数r排 列得到的k进制数 是 否 程序框图 小结 2、掌握二进制与十进制之间的转换 1、进位制的概念 练习 将十进制数258分别转化为四进制数和六进制数. 0 4 1 4 4 4 16 4 64 4 258 2 0 0 0 1 余数 0 6 1 6 7 6 43 6 258 0 1 1 1 余数 258=10002(4)=1110(6) 练习 将五进制数1234(5)转化为七进制数. 1234(5)=1×53+2×

文档评论(0)

me54545 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档