【原创,自用】1.3算法案三【原创,自用】1.3算法案例三【原创,自用】1.3算法案例三【原创,自用】1.3算法案例三.ppt

【原创,自用】1.3算法案三【原创,自用】1.3算法案例三【原创,自用】1.3算法案例三【原创,自用】1.3算法案例三.ppt

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

1.3.3 算法案例 半斤=八两 我们常见的数字都是十进制的,比如一般的数值计算,但是并不是生活中的每一种数字都是十进制的. 古人有半斤八两之说,就是十六进制与十进制的转换. 比如时间和角度的单位用六十进位制, 计算“一打”数值时是12进制的。 电子计算机用的是二进制 1.进位制是一种记数方式,用有限的数字在不同的位置表示不同的数值。可使用数字符号的个数称为基数,基数为k,即可称k进位制,简称k进制。k进制需要使用k个数字; 3.十进制数转化为k进制数的方法:(除k取余法) 用k连续去除该十进制数或所得的商,直到商为零为止,然后把每次所得的余数倒着排成一个数,就是相应的k进制数。 1.3 算法案例 习题课 * * 一、进位制 1、什么是进位制? 2、最常见的进位制是什么?除此之外还有哪些常见的进位制?请举例说明. 进位制是人们为了计数和运算方便而约定的记数系统。 约定: 满二进一,就是二进制; 满十进一,就是十进制; 满十二进一,就是十二进制; 满六十进一,就是六十进制 “满几进一”就是几进制,几进制的基数就是几. 基数: 十进制由两个部分构成 例如:3721 其它进位制的数又是如何的呢? 第一、它有0~9十个数字; 第二、它有“数位”,即从右往左为个位、十位、百位、千位等等。 (用10个数字来记数,称基数为10) 表示有:1个1,2个十, 7个百即7个10的平方,3个千即3个10的立方 十进制:“满十进一” 3、我们了解十进制吗?所谓的十进制,它是如何构成的? 实际上,十进制数只是计数法中的一种,但它不是唯一 记数法。除了十进制数,生产生活中还会遇到非十进制的 记数制。如时间:60秒为1分,60分为1小时,它是六十进 制的。两根筷子一双,两只手套为一副,它们是二进制的。 其它进制: 二进制、七进制、八进制、十二进制、 六十进制…… 二进制只有0和1两个数字,七进制用0~6七个数字 十六进制有0~9十个数字及ABCDEF六个字母. 为了区分不同的进位制,常在数的右下角标明基数,十进制一般不标注基数. 例如十进制的133.59,写成133.59(10) 七进制的13,写成13(7);二进制的10,写成10(2) 一般地,若k是一个大于1的整数,那么以k 为基数的k进制可以表示为一串数字连写在一起 的形式: A 7342(8)= 110011(2)= 1×25+1 ×24+ 0×23+0 ×22 + 1×21+1 ×20 7×83+3 ×82+4 ×81+2×80 探究:P40 其它进制数化成十进制数公式 二、二进制与十进制的转换 1、二进制数转化为十进制数 例1 将二进制数110011(2)化成十进制数 解: 根据进位制的定义可知 所以,110011(2)=51. 练习:把下列数化为十进制数 (2) 1011010(2) (3) 10212(3) (1)11 (2) 例2、设计一个算法,把k 进制数a(共有n位)化为 十进制数b. 算法分析:从例1的计算过程可以看出,计算k进制数a的右数 第i位数字 与 的乘积 再将其累加,这是一个重复 操作的步骤。所以,可以用循环结构来构造算法。 算法: S1:输入a,k,n的值。 S2:将b的值初始化为0,i的值初始化为1. S3:b=b+ ,i=i+1. S4:判断in?,若是,则执行S5;否则,返回S3。 S5:输出b的值。 开始 输入a,k,n b=0 i=1 把a的右数第i位数字赋给t b=b+t*ki-1 i=i+1 输出b 结束 in? 否 是 INPUT “a, k, n=”;a,k,n i=1 b=0 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 b END INPUT “a, k, n=”;a,k,n i=1 b=0 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 b END INPUT “ a, k, n=”;a,k,n i=1 b=0 t=a MOD 10 WHILE i=n b=b+t*k^(i-1) a=a\10 t=a MOD 10 i=i+1 WEND PRINT b END 除2取余法:用2连续去除89或所得的商,然后取余数。 例3 把89化为二进制数。 解: 根据“逢二进一”的原则,有 5= 2× 2+1 =2×

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档