网站大量收购独家精品文档,联系QQ:2885784924

算法案-进位制.ppt

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
算法案-进位制

半斤=八两 我们常见的数字都是十进制的,比如一般的数值计算,但是并不是生活中的每一种数字都是十进制的. 古人有半斤八两之说,就是十进制与十六进制的转换. 比如时间和角度的单位用六十进位制, 计算“一打”数值时是12进制的。 电子计算机用的是二进制 1.进位制是一种记数方式,用有限的数字在不同的位置表示不同的数值。可使用数字符号的个数称为基数,基数为k,即可称k进位制,简称k进制。k进制需要使用k个数字; 3.十进制数转化为k进制数的方法:(除k取余法) 用k连续去除该十进制数或所得的商,直到商为零为止,然后把每次所得的余数倒着排成一个数,就是相应的k进制数。 * 一、进位制 1、什么是进位制? 2、最常见的进位制是什么?除此之外还有哪些常见的进位制?请举例说明. 进位制是人们为了计数和运算方便而约定的记数系统。 进位制是一种记数方式,用有限的数字在不同的位置表示不同的数值。可使用数字符号的个数称为基数,基数为n,即可称n进位制,简称n进制。 3、我们了解十进制吗?所谓的十进制,它是如何构成的? 十进制由两个部分构成 例如:3721 其它进位制的数又是如何的呢? 第一、它有0~9十个数字; 第二、它有“数位”,即从右往左为个位、十位、百位、千位等等。 (用10个数字来记数,称基数为10) 表示有:1个1,2个十, 7个百即7个10的平方,3个千即3个10的立方 十进制:“满十进一” 二、 二进制 二进制是用0、1两个数字来描述的.如11001 二进制的表示方法 区分的写法:11001(2)或者(11001)2 八进制呢? 如7342(8) k进制呢? anan-1an-2…a1(k)? a=anan-1… a3a2a1(k) =ank(n-1)+an-1k(n-2)+ … + a3k2 +a2k1+a1k0 三、二进制与十进制的转换 1、二进制数转化为十进制数 例1 将二进制数110011(2)化成十进制数 解: 根据进位制的定义可知 所以,110011(2)=51. 将下面的二进制数化为十进制数? (1)110 (2)11011 练习 (除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×(25+23+22+0+0)+1 = 1× 26+1× 24+ 1× 23+ 0× 22+ 0 × 21 +1× 20 89=2×44+1 44= 2×22+0 22= 2×11+0 11= 2× 5+1 所以89=2×(2×(2×(2×(2 × 2 +1)+1)+0)+0)+1 2、十进制转换为二进制 2= 2× 1+0 1= 2× 0+1 =… =… 注意: 1.最后一步商为0, 2.将上式各步所得的余数从下到上排列,得到: 89=1011001(2) 2、十进制转换为二进制 例2 把89化为二进制数 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 例3 把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 算法步骤: 第一步,输入a,k和n的值. 第二步,将b的值初始化为0,i的值初始化为1. 第三步,b=b+ai·ki-1,i=i+1. 第四步,判断in是否成立.若是,则执行第五 步;否则返回第三步. 第五步,输出b的值. 开始 输入a,k,n b=0 把a的右数第i位的数字赋给t in? i=1 b=b+t·ki-1 i=i+1 输出b 结束 是 否 INPUT “a,k,n=”;a,k,n b=0 i=1 t=a MOD 10 DO b=b+t*k^(i-1) a=a\10 t=a MOD 10 i=i+1 LOOP UNTIL in PRINT

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档