算法案例(进位制)
1.3算法案例(进位制)(yong)
思考:生活最常见的进位制是什么?除此之外还有
哪些常见的进位制?请举例说明. • 最常见的进位制应该是我们数学中的十进制,比 如一般的数值计算,但是并不是生活中的每一种 数字都是十进制的. • 古人有半斤八两之说,就是十六进制与十进制的 转换. • 比如时间和角度的单位用六十进制, 计算“一打” 数值时是12进制的。 • 电子计算机用的是二进制 。
思考:其它进制是否也有类似的规律呢?
八进制
7342(8) =783+382+48+2 110011(2)=125+124+023 +022+12+1
二进制
一般地,若k是一个大于1的整数,那么以k为基 数的k进制可以表示为以下形式:
a n a n 1 a 1 ( k ) ( 0 a n k , 0 a 1 , , a n 1 k ).
a×82+b×8+c=c×72+b×7+a,得:63a+b﹣48c=0, b=3(16c﹣21a), 由此知b是三的倍数,且是整数, ∴b=0,3,6, 21 a 当b=0时,可得c= 1 6 又1≤a≤6,检验知,不存在符合条件的a使得c是整数,
当3时,得c=
当b=6时,得c=
21a 1 16
开始
输入a ,k,n b=0 i=1
把a的右数第i位数字赋给t b=b+t*ki-1 i=i+1
否
i>n
是
输出结果b 结束
三、十进制化为k进制 思考:既然,k进制转化为十进制有前述的方法与 相应的算法,那么十进数又是如何才能转化为k进 数呢? 回想:a=anan-1…a2a1(k) =ankn-1+an-1kn-2+ …+a2k+a1 =b
“算法案例——进位制”教学实录与思考
一 、 基 本 情 况 1.目标要求 : 知识与技能 :了解 各种 进位 制 与十 进制 之 间转 换 的规 律 ,会利用 各种进位 制 与十进 制 之间 的联 系进 行各 种进 位 制之 间的转换. 过程与方法 :学 习各种 进位 制转 换 成十 进制 的计算 方 法 ,研究 十进 制转换为各种进 位制 的除 取余 法 ,并理解 其 中 的 数 学 规 律 . 情感 、态度 、价值观 :体验数学 知识是 因需 要而 产生 ,领 悟 十进制 、二进 制的特点 ,了解计算 机 的电路与二 进制 的联 系 ,进一步认识 到计算机与数学 的联系. 2.重 点难点 : 教学重点 :各进位 制表 示数 的方 法 及各 进位 制 之 间 的 转 换 . 教学难点 :除 k取余 法的理解 以及各进 位制之间转换. 3.教 学策略与方法 : 认识 二进制采用 问题 串启 发 讲授 式 ,进 制 之间 的转 化 采用 问题 串探究式. 二 、课 堂 实 录 环 节一 猜姓游戏 教师 利用二进制 原理 提前 制 作百 家姓 氏表 ,课 堂上 教 师播放百 家姓 氏表 ,组织 学生参 与此 数学 游戏.学 生 回答 5 张百 家姓 氏表里“有 ”或 “没 有 ”自己 的姓 ,教 师就 可 以猜 出 学 生 姓 什 么. 教 师提问 :你想 知道其 中的原 理吗?(情境性 问题 ) 说 明 :由于是抽 班 上课 ,教 师 不认 识 班里 的学 生 ,却 能 猜 出学生 的姓氏 ,学 生很想知道原理 ,激发学 生的好奇心. 环节 二 认识进位制 教师提 问 1:(铺垫 性问题 )为 什么会 有不 同 的进位制 ? 生活 中有 哪些 进位制? 教师提 问 2:(目标性 问题 )什 么是 .j}进 制? 教 师提问 3:(研究 性问题 )k进制数 怎么 表达?一 般形 式 是 什 么 ? 教师提 问 4:(辨析性 问题 )以下数的表达是 否正确? (1)12(2) (2)061f71 (3)291(8) 学生活动 :生活 中的进位制举 例 ,一 起 了解生 活 中的六 十进 制 、七进制 、十二进制 、二进制 和十六 进制 等 ,因为生 活 需要 所 以产生 不 同的进 位 制 ,进 位 制是 人们 为 了计 数和 运 算方 便而约定 的记 数 系统.解决 问题 2:“满 进一 ”就 是 k
人教版数学必修三1.3.3算法案例(三)——进位制 课件
(2)已知k进制的数132(k)与十进制的数30相等, 求k的值. 拓展:若已知 132 =30 呢?
(k) (7)
解: 132(k) =30
2
1 k 3 k 2=30 2 即k 3k 28=0
1
Hale Waihona Puke k=4或k= 7(舍去) 故,k的值为4.
如 何 例2、把89化为三进制数 将 89 余数 3 解: 89=3×29+2 解: 2 29 十 3 29= 3×9+2 2 9 3 进 9= 3× 3+ 0 3 0 3 制 3= 3 × 1+ 0 1 0 3 数 0 1 1= 3× 0+ 1 转 所以,89=10022(3) 则 89= 3×29+2 化 =3×( 3×9+2 )+2 为 注意: 2×( 3×3+0 )+2 × 3 +2 = 3 三 1.最后一步商为0, =将上式各步所得的余数从下到上排列,得到: 33×( 3× 1 +0 )+ 0 × 32 + 2 × 3+2 进 2. 4 + 0 × 3 3+ 0 × 3 2+ 2 × 3 + 2 × 3 0 89=10022 制 =1×( 33 ) 所以,89=10022(3) k进制数的方法:除k取余法 数 小结:将十进制数转化为 ?
1.3 算法案例
进位制是人们为了计数和运算方便而约定的记数系统.
“满二进一”就是二进制, “满十进一”就是十进制, “满k进一”就是k进制(k叫做基数). 一小时有六十分 用的是六十进制 一个星期有七天 用的是七进制 一年有十二个月 用的是十二进制 电子计算机 用的是二进制
半斤=八两?
【学习目标】 1、了解进位制的概念,理解各种进位制与十进制 之间转换的规律,会利用各种进位制与十进制之间的联 系进行各种进位制之间的转换. 2、根据对进位制的理解,体会计算机的计数原理; 3、了解进位制的程序框图及程序.
【精品课件教案PPT】 算法案例-进位制PPT共16页
6、纪律是自由的第一条件。——黑格 尔 7、纪律是集体的面貌,集体的声音, 集体的 动作, 集体的 表情, 集体的 信念。 ——马 卡连柯
8、我们现在必须完全保持党的纪律, 否则一 切都会 陷入污 泥中。 ——马 克思 9、学校没有纪律便如该:活泼而守纪律,天 真而不 幼稚, 勇敢而 鲁莽, 倔强而 有原则 ,热情 而不冲 动,乐 观而不 盲目。 ——马 克思
61、奢侈是舒适的,否则就不是奢侈 。——CocoCha nel 62、少而好学,如日出之阳;壮而好学 ,如日 中之光 ;志而 好学, 如炳烛 之光。 ——刘 向 63、三军可夺帅也,匹夫不可夺志也。 ——孔 丘 64、人生就是学校。在那里,与其说好 的教师 是幸福 ,不如 说好的 教师是 不幸。 ——海 贝尔 65、接受挑战,就可以享受胜利的喜悦 。——杰纳勒 尔·乔治·S·巴顿
高中数学算法案例-进位制(公开课)教案 新人教A版必修3
必修3第一章1.3算法案例:案例3进位制[教学目标]:(1)了解各种进位制与十进制之间转换的规律,会利用各种进位制与十进制之间的联系进行各种进位制之间的转换。
(2)学习各种进位制转换成十进制的计算方法,研究十进制转换为各种进位制的除k 去余法,并理解其中的数学规律。
[教学重点]各进位制表示数的方法及各进位制之间的转换[教学难点]除k取余法的理解[情感态度价值观] 学生通过合作完成任务,领悟十进制,二进制的特点,了解计算机与二进制的联系,进一步认识到计算机与数学的联系,培养他们的合作精神和严谨的态度。
[教学方法] 讲解法、尝试法、归纳法、讨论法、[教学用具]多媒体电脑[学法] 学习各种进位制特点的同时探讨进位制表示数与十进制表示数的区别与联系,熟悉各种进位制表示数的方法,从而理解十进制转换为各种进位制的除k取余法。
[教学过程]一、创设情景,揭示课题辗转相除法和更相减损术,是求两个正整数的最大公约数的算法,秦九韶算法是求多项式的值的算法,将这些算法转化为程序,就可以由计算机来完成相关运算。
人们为了计数和运算方便,约定了各种进位制,本节课我们来共同学习《进位制》你都了解那些进位制?比如说?在日常生活中,我们最熟悉、最常用的是十进位制,据说这与古人曾以手指计数有关;由于计算机的计算与记忆元件特点,计算机上通用的是二进位制;一周七天是七进位;一年十二个月〔生肖、一打〕是十二进制;旧式的称是十六进制;〔老称一斤为16两,故而有了半斤八两之说〕、24进制〔节气〕一小时六十分、角度的单位是六十进位制。
二进制是有德国数学家莱布尼兹发明的。
第一台计算机ENIAC〔埃尼阿克〕用的就是十进制。
计算机之父冯·诺伊曼研究后,提出改进意见,用二进制替代十进制。
主要原因①二进制只有0和1两个数字,要得到两种不同稳定状态的电子器件很容易,而且制造简单,可靠性高;②各种计数法中,二进制运算规那么简单。
如:十进 制乘法叫九九表,二进制只有4句。
算法案例-进位制
a1
k
1
a0
k
0 (10)
2、十进制数化成k进制数
除k取余法
作业
P45.
3
P48.
3
89=324(5)
练习
将下面的十进制数化为二进制数?
(1)10 (2)20
(3)128 (4)256
小结
一、进位制
anan1 a1a0(k) (0 an k,0 an1,
,a1,a0 k).
二、各进制数之间的转化(只限整数)
1、其它进制数化成十进制数公式 anan1 a1a0(k )
an k n an1 k n1
上述方法可以推广为把k进制数化
十进制数的算法
探究:P34
若anan1 a1a0(k)表示一个k进制数,请你把它写成各位 上数字与k的幂的乘积之和的形式。
anan1 a1a0(k ) ank n an1k n1a1k来自1a0k
0 (10)
K进制数化成十进制数公式
练习:把下列数化为十进制数
(1) 1011010(2) (2) 10212(3) (3) 2376(8)
一般地,若k是一个大于1的整数,那么以k 为基数的k进制可以表示为一串数字连写在一起 的形式:
anan1 a1a0(k)(0 an k,0 an1, , a1, a0 k).
下列写法正确的是: ( A )
A、751(16)
B、751(7)
C、095(12)
D、901(2)
注意书写及读法
anan1 a1a0(k) (0 an k, 0 an1, , a1, a0 k).
(2)十进制数化为二进制数
例5 把89化为二进制数。 解:
把上式各步所得的余数 从下到上排列, 得到89=1011001(2)
高中数学必修3公开课课件 1.3.3算法案例--进位制
四、十进制数化成K进制数
例3 将89化为二进制数. 分析:89=44×2+1;
44=22×2+0; 22=11×2+0;
2
89
1
2
44
0
2 22 0
2 11 1
11=5×2+1. 5=2×2+1; 2=1×2+0.
25 1 220
所以上式可以表示为:1 011 001
211
即89 (10) =1 011 001 (2)
为了区别进制,我们就用 下标(k)表示k进制数 K进制数anan1 a3a2a1 (k ) 实际表示数为:
an kn1 an1 kn2 a3 k 2 a2 k a1
三、K进制数化成十进制数 例1 将二进制数110 011 (2)化成十进制数
解 根据k进制数的实际意义,我们可以这样来转换:
3
二、进位制的统一表示形式
十进制数
30457 3104 0103 4102 5101 7100
二进制数
10011(2) 1 24 0 23 0 22 1 21 1 20
八进制数
36071(8) 384 683 082 781 180
·2007·
15
解:用表格来表示,则为:
除k取余法
被除数
计算过 程
商
120 120/16 7
余数 8
7 7/16 0
7
所以上表可以表示为: 78 即120 (10) =78 (16)
10
四、十进制数化成K进制数 练习2 将120化为八进制数.
用表格来表示,则为:
除k取余法
1、3进位制
例题: 1、把二进制数110011(2)化为十进制数。 2、把89化为二进制数。(除二取余法)
除k取余法
3、把89化为五进制数。
练习:
完成下列进位制之间的转化:
(1)10231(4)= (2)235(7)= (3)137(10)= (4)1231(5)= (5)213(4)= (6)1010111(2)=
1、3 算法案例 —进位制
案例4:进位制
进位制是人们为了计数和运算方便而约定的 计数系统,约定满二进一,就是二进制;满十进 一,就是十进制;满十二进一,就是十二进制; 等等。也就是说,“满几进一”就是几进制,几 进制的基数就是几。
十进制使用0~9十个数字。十进制的数可表 示成不同位上数字与基数的幂的乘积之和的形 式。如:
(10); (10); (6); (7); (3);
(4)。
Hale Waihona Puke 3712=3×103+7×102+1×101+2×100
二进制用0和1两个数字,七进制用0~6七个 数字。等等。
一般地,若k是一个大于1的整数,那么以k 为基数的进制数可以表示为一串数字连写在一 起的形式
anan1 a1a0k 0 an k,0 an1, a0 k
其他进制的数也可表示成不同位上数字与基 数的幂的乘积之和的形式。如:
人教版高中数学必修三 算法案例(进位制)优质教案
第3课时案例3 进位制(一)导入新课情境导入在日常生活中,我们最熟悉、最常用的是十进制,据说这与古人曾以手指计数有关,爱好天文学的古人也曾经采用七进制、十二进制、六十进制,至今我们仍然使用一周七天、一年十二个月、一小时六十分的历法.今天我们来学习一下进位制.(二)推进新课、新知探究、提出问题(1)你都了解哪些进位制?(2)举出常见的进位制.(3)思考非十进制数转换为十进制数的转化方法.(4)思考十进制数转换成非十进制数及非十进制之间的转换方法.活动:先让学生思考或讨论后再回答,经教师提示、点拨,对回答正确的学生及时表扬,对回答不准确的学生提示引导考虑问题的思路.讨论结果:(1)进位制是人们为了计数和运算方便而约定的计数系统,约定满二进一,就是二进制;满十进一,就是十进制;满十二进一,就是十二进制;满六十进一,就是六十进制等等.也就是说:“满几进一”就是几进制,几进制的基数(都是大于1的整数)就是几.(2)在日常生活中,我们最熟悉、最常用的是十进制,据说这与古人曾以手指计数有关,爱好天文学的古人也曾经采用七进制、十二进制、六十进制,至今我们仍然使用一周七天、一年十二个月、一小时六十分的历法.(3)十进制使用0~9十个数字.计数时,几个数字排成一行,从右起,第一位是个位,个位上的数字是几,就表示几个一;第二位是十位,十位上的数字是几,就表示几个十;接着依次是百位、千位、万位……例如:十进制数3 721中的3表示3个千,7表示7个百,2表示2个十,1表示1个一.于是,我们得到下面的式子:3 721=3×103+7×102+2×101+1×100.与十进制类似,其他的进位制也可以按照位置原则计数.由于每一种进位制的基数不同,所用的数字个数也不同.如二进制用0和1两个数字,七进制用0~6七个数字.一般地,若k是一个大于1的整数,那么以k为基数的k进制数可以表示为一串数字连写在一起的形式a n a n-1…a1a0(k)(0<a n<k,0≤a n-1,…,a1,a0<k).其他进位制的数也可以表示成不同位上数字与基数的幂的乘积之和的形式,如110 011(2)=1×25+1×24+0×23+0×22+1×21+1×20,7 342(8)=7×83+3×82+4×81+2×80.非十进制数转换为十进制数比较简单,只要计算下面的式子值即可:a n a n-1…a1a0(k)=a n×k n+a n-1×k n-1+…+a1×k+a0.第一步:从左到右依次取出k进制数a n a n-1…a1a0(k)各位上的数字,乘以相应的k的幂,k的幂从n开始取值,每次递减1,递减到0,即a n×k n,a n-1×k n-1,…,a1×k,a0×k0;第二步:把所得到的乘积加起来,所得的结果就是相应的十进制数.(4)关于进位制的转换,教科书上以十进制和二进制之间的转换为例讲解,并推广到十进制和其他进制之间的转换.这样做的原因是,计算机是以二进制的形式进行存储和计算数据的,而一般我们传输给计算机的数据是十进制数据,因此计算机必须先将十进制数转换为二进制数,再处理,显然运算后首次得到的结果为二进制数,同时计算机又把运算结果由二进制数转换成十进制数输出.1°十进制数转换成非十进制数把十进制数转换为二进制数,教科书上提供了“除2取余法”,我们可以类比得到十进制数转换成k进制数的算法“除k取余法”.2°非十进制之间的转换一个自然的想法是利用十进制作为桥梁.教科书上提供了一个二进制数据与16进制数据之间的互化的方法,也就是先由二进制数转化为十进制数,再由十进制数转化成为16进制数.(三)应用示例思路1例1 把二进制数110 011(2)化为十进制数.解:110 011(2)=1×25+1×24+0×23+0×22+1×21+1×20=1×32+1×16+1×2+1=51.点评:先把二进制数写成不同位上数字与2的幂的乘积之和的形式,再按照十进制的运算规则计算出结果.变式训练设计一个算法,把k进制数a(共有n位)化为十进制数b.算法分析:从例1的计算过程可以看出,计算k进制数a的右数第i位数字a i与k i-1的乘积a i·k i-1,再将其累加,这是一个重复操作的步骤.所以,可以用循环结构来构造算法.算法步骤如下:第一步,输入a,k和n的值.第二步,将b的值初始化为0,i的值初始化为1.第三步,b=b+a i·k i-1,i=i+1.第四步,判断i>n是否成立.若是,则执行第五步;否则,返回第三步.第五步,输出b的值.程序框图如下图:程序:INPUT “a,k,n=”;a,k,nb=0i=1t=a MOD 10DOb=b+t*k^(i-1)a=a\\10t=a MOD 10i=i+1LOOP UNTIL i>nPRINT bEND例2 把89化为二进制数.解:根据二进制数“满二进一”的原则,可以用2连续去除89或所得商,然后取余数.具体计算方法如下:因为89=2×44+1,44=2×22+0,22=2×11+0,11=2×5+1,5=2×2+1,2=2×1+0,1=2×0+1,所以89=2×(2×(2×(2×(2×2+1)+1)+0)+0)+1=2×(2×(2×(2×(22+1)+1)+0)+0)+1=…=1×26+0×25+1×24+1×23+0×22+0×21+1×20=1 011 001(2).这种算法叫做除2取余法,还可以用下面的除法算式表示:把上式中各步所得的余数从下到上排列,得到89=1 011 001(2).上述方法也可以推广为把十进制数化为k进制数的算法,称为除k取余法.变式训练设计一个程序,实现“除k取余法”.算法分析:从例2的计算过程可以看出如下的规律:若十制数a除以k所得商是q0,余数是r0,即a=k·q0+r0,则r0是a的k进制数的右数第1位数.若q0除以k所得的商是q1,余数是r1,即q0=k·q1+r1,则r1是a的k进制数的左数第2位数.……若q n-1除以k所得的商是0,余数是r n,即q n-1=r n,则r n是a的k进制数的左数第1位数.这样,我们可以得到算法步骤如下:第一步,给定十进制正整数a和转化后的数的基数k.第二步,求出a除以k所得的商q,余数r.第三步,把得到的余数依次从右到左排列.第四步,若q≠0,则a=q,返回第二步;否则,输出全部余数r排列得到的k进制数.程序框图如下图:程序:INPUT “a,k=”;a,kb=0i=0DOq=a\\kr=a MOD kb=b+r*10^ii=i+1a=qLOOP UNTIL q=0PRINT bEND思路2例1 将8进制数314 706(8)化为十进制数,并编写出一个实现算法的程序.解:314 706(8)=3×85+1×84+4×83+7×82+0×81+6×80=104 902.所以,化为十进制数是104 902.点评:利用把k进制数转化为十进制数的一般方法就可以把8进制数314 706(8)化为十进制数.例2 把十进制数89化为三进制数,并写出程序语句.解:具体的计算方法如下:89=3×29+2,29=3×9+2,9=3×3+0,3=3×1+0,1=3×0+1,所以:89(10)=10 022(3).点评:根据三进制数满三进一的原则,可以用3连续去除89及其所得的商,然后按倒序的顺序取出余数组成数据即可.(四)知能训练将十进制数34转化为二进制数.分析:把一个十进制数转换成二进制数,用2反复去除这个十进制数,直到商为0,所得余数(从下往上读)就是所求.解:即34(10)=100 010(2)(五)拓展提升把1 234(5)分别转化为十进制数和八进制数.解:1 234(5)=1×53+2×52+3×5+4=194.则1 234(5)=302(8)所以,1 234(5)=194=302(8)点评:本题主要考查进位制以及不同进位制数的互化.五进制数直接利用公式就可以转化为十进制数;五进制数和八进制数之间需要借助于十进制数来转化.(六)课堂小结(1)理解算法与进位制的关系.(2)熟练掌握各种进位制之间转化.(七)作业习题1.3A组3、4.。
10算法案例
10算法案例以下是十个进位制的算法案例:1.十进制转二进制:这个算法将一个十进制数转换为二进制数。
它通过将给定十进制数除以2并记录余数来工作,然后将商作为新的被除数,继续重复这个过程,直到商为0为止。
然后,将所记录的余数从下往上组合在一起,就得到了相应的二进制数。
2.二进制转十进制:此算法将一个二进制数转换为十进制数。
它通过将二进制数中的每一位与2的幂相乘,并将结果求和来完成。
例如,对于二进制数1011,它可以转换为十进制数113.十进制转十六进制:这个算法将一个十进制数转换为十六进制数。
它与十进制转二进制的算法类似,只不过每次除以16而不是2,余数可以是0-15之间的任意值。
4.十六进制转十进制:此算法将一个十六进制数转换为十进制数。
它通过将十六进制数中的每一位与16的幂相乘,并将结果求和来完成。
例如,对于十六进制数A3,它可以转换为十进制数1635.十进制转八进制:这个算法将一个十进制数转换为八进制数。
与转换为十六进制类似,只需将每次除以8,余数可以是0-7之间的任意值。
6.八进制转十进制:此算法将一个八进制数转换为十进制数。
它与转换为十六进制相似,将每位乘以8的幂,并将结果求和。
7.约瑟夫环问题:这是一个著名的数学问题,涉及到一群人围坐在一个圆圈中的问题。
该算法模拟了人们按照一定规则被移除的过程,直到只剩下一个人。
这个算法可以使用循环链表或递归来实现。
8. 快速排序算法:这是一种高效的排序算法,通过分治法将一个数组分为较小的子数组,并在子数组内进行排序,最后合并排序后的子数组。
它的运行时间复杂度为O(n log n)。
9. 归并排序算法:这是另一种高效的排序算法,通过将一个数组分为较小的子数组,分别对子数组进行排序,然后再将两个已排序的子数组合并以得到最终的有序数组。
它的运行时间复杂度也为O(n log n)。
10. Dijkstra算法:这是一种用于解决最短路径问题的算法。
它通过从起点开始,逐步扩展最短路径集合,直到抵达目标节点为止。
算法案例_进位制的教学设计
问题 3 如何理解数 3 721 各位上数字的 意义 ? 问题 4 十进制数有何特点 ? 如何推广到 一般的 k 进制数 . 学生讨论 3, 7, 2, 1 各自的意义 : 3 个千 、 7 个百 、 2 个十 、 1 个 1; 继而讨论十进制的特点 . 经过讨论 , 在教师引导下 , 用数学符号表 达 3 721 的含义 :
用循环结构来实现累加 . 难点是 如 何 依 次 取 出 a 各 位 上 的 数 字
an - 1 , an - 2 , …, a1 , a0 ;
说明 : ( 1 ) 式“ = ” 的右边是十进制数 , 我 们通常用这种方法把一个 k 进制数转换成十 进数 .
3. 不同进位制之间的转换
4. 难点突破 , 算法形成
( a ) b = b + ai ×k , ( b) i = i + 1.
i
= an ×k + an - 1 ×k
n
ቤተ መጻሕፍቲ ባይዱ
n- 1
+ … + a1 ×k + a0 ×k ; ( 2 ) 满 k 进 1; ( 3 ) 每个数位上的数字都小于 k, 取自 0,
1, 2, …, k - 1;
( 4 ) 首位不为 0.
011 除以 10 的商数 11 001 再次“ 除以 10 取余
点评学生的讨论 , 归纳所得的方法叫做 “ 除 2 取余法 ” , 介绍竖式表示 :
数” , 即可得十位上的数字 1. 反复执行上述步 骤 , 就可得到 110 011 的各位上的数字 . 师生共同总结上述思路的算法思想 : 先 把 a 看作十进制数 , 然后反复执行以下步骤 :
( e) r = bmod k; ( r即为 ai ) ( f ) b = b \ k.
1.3.3算法案例之进位制
102123) ________ ) ( ( ; 10 23768) __________ ) . (10 (
十进制数转换为其他进制数
例题3
解
把89化为二进制数.
89 2 44 1 44 2 22 0 22 2 11 0 11 2 5 1 5 2 2 1 2 2 1 0 1 2 0 1
先把其他进制数表示成不同位上数字与基 数的幂的乘积和的形式,然后按照十进制的运 算法则求出结果. 例题2 把二进制数 110011)化为十进制数. ( 2
解:1100112) 1 25 1 24 1 21 1 20 (
1 32 116 1 2 1
51 .
练习题
1.3.3 进位制
进位制
人们为了计数和运算方便而约定的计数 系统叫进位制.几进制的基数就是几. 满二进一 满十进一
二进制 十进制
0,1两个数字 0~9十个数字 0~9十个数字和A~F 六个字母
满十六进一 十六进制
例题1下列各数表示不正确来自是( )AA.095(7) C.1100112) (
B.265(12) D.2E1F(16)
解析 七进制使用的数是0~6的整数.
思考吧
十进制数3721中的3表示3个千,7表示7 个百,2表示2个十,1表示1个1,那么八进 制数 3458) 呢? (
计数原则
任何进位制的数都可以表示成不同位 上数字与基数的幂的乘积之和的形式.
345 8) 3 8 4 8 5 (
2
其他进制数转换为十进制数
因为
这种算法叫做除2取 余法.推广到把十 进制数转化为K进 制数的算法叫做 除K取余法.
高中数学人教A版必修三第一章.3进位制-算法案例ppt课件
进位制
十进制数3721中的3表示3个千,7表示7个百,2表示2个 十,1表示1个一,从而它可以写成下面的形式:
3721=3×103+7×102+2×101+1×100.
同理: 3421(5)= 3×53+4×52+2×51+1×50.
每一位上的数都是整数.
按照十进制数的运算规则计算出结果, 结果就是十进制下该数的大小了.
89 余数
=81+18+6+1=106.
44
1
0
3
11
0
解:第一步:先把三进制数化为十进制数:
按照十进制数的运算规则计算出结果,
1
0
22
0
结果就是十进制下该数的大小了.
∴ 89=324(5)
2
1
=81+18+6+1=106. 第二步:再把十进制数化为二进制数:
106=1101010(2). ∴10221(3)=106=1101010(2).
课堂小结
1.几进制的基数就是几,基数都是大于1的数.
89=1011001(2)
11
0
17
4
∴ 89=324(5)
十进制数3721中的3表示3个千,7表示7个百,2表示2个十,1表示1个一,从而它可以写成下面的形式:
把89化为五进制的数.
5 89 5 17 53
0
余数
4 2 3
∴ 89=324(5)
练习:把3282化为16进制的数.
10
11
12
13
14
15
ABຫໍສະໝຸດ CDEF
思考 你会把三进制数10221(3)化为二进制数吗?
高中数学人教A版必修三第一章1.3.3进位制-算法案例课件
把89化为五进制的数.
5 89 5 17 53
0
余数
4 2 3
∴ 89=324(5)
练习:把3282化为16进制的数.
10
11
12
13
14
15
A
B
C
D
E
F
思考 你会把三进制数10221(3)化为二进制数吗?
解:第一步:先把三进制数化为十进制数: 10221(3)=1×34+0×33+2×32+2×31+1×30
51
把89化为二进制的数.
2 89
2 44 2 22 2 11 25
22 21
0
余数
1 0 0 1 1 0 1
把算式中各步所得的余 数从下到上排列,得到
89=1011001(2) 可以用2连续去除89或所得 商(一直到商为0为止),然后 取余数---除2取余法.
这种方法也可以推广为把 十进制数化为k进制数的 算法,称为除k取余法.
=81+18+6+1=106. 第二步:再把十进制数化为二进制数:
106=1101010(2). ∴10221(3)=106=110就是几,基数都是大于1的数.
按照十进制数的运算规则计算出结果, 结果就是十进制下该数的大小了.
1.3算法案例
进位制
十进制数3721中的3表示3个千,7表示7个百,2表示2个 十,1表示1个一,从而它可以写成下面的形式:
3721=3×103+7×102+2×101+1×100.
同理: 3421(5)= 3×53+4×52+2×51+1×50.
每一位上的数都是整数.
算法案例进位制.ppt
(( an x
n2
an 1 x
n 3
a2 ) x a1 ) x a0
((an x an1 ) x an2 ) x a1 ) x a0
f ( x) ((an x an1 ) x an2 ) x a1 ) x a0
完整的过程
8251=6105×1+6 6105=2146×2+1813 2146=1813×1+333
例2 用辗转相除法求225和135的最大公约数 225=135×1+90 135=90×1+45 90=45×2 显然45是90和45的最大公约数,也就是 225和135的最大公约数 思考1:从上面的两个例子可以看出计算 的规律是什么?
要求多项式的值,应该先算最内层的一次多项式的值,即 然后,由内到外逐层计算一次多项式的值,即
v1 an x an1
v2 v1 x an2
v3 v2 x an3 vn vn1 x a0
最后的一 项是什么?
这种将求一个n次多项式f(x)的值转化成求n个一 次多项式的值的方法,称为秦九韶算法。
特点:通过一次式的反复计算,逐步得出高次多 项式的值,对于一个n次多项式,
如果系数不为1,只需做n次乘法和n次加法 如果系数是1,那么需做n-1次乘法,n次加法。
例2 已知一个五次多项式为
5 4
f ( x) 5x 2 x 3.5x 2.6 x 1.7 x 0.8
3 2
用秦九韶算法求这个多项式当x = 5的值。 解: 将多项式变形:
算法1: 因为f(x) =x5+x4+x3+x2+x+1 所以f(5)=55+54+53+52+5+1
课件11:1.3 算法案例(二)
[针对训练 3] 将 53(8)转化为二进制数. [解] 先将八进制数 53(8)转化为十进制数: 53(8)=5×81+3×80=43; 再将十进制数 43 转化为二进制数:
所以 53(8)=101011(2).
课堂归纳小结 把一个非十进制数转化为另一种非十进制数,通常 是把这个数先转化为十进制数,然后再利用除 k 取余法, 把十进制数转化为 k 进制数.而在使用除 k 取余法时要 注意以下 几点:(1)必须除到所得的商是 0 为止;(2)各步所得 的余数必须从下到上排列;(3)切记在所求数的右下角标 明基数.
[针对训练 2] (1)把十进制数 15 化为二进制数为( )
A.1011
B.1001(2)
C.1111(2)
D.1111
(2)把四进制数 13022 化为六进制数.
[解析] (1)因为 所以 15=1111(2),故 C 正确.
(2)先把四进制数 13022 化为十进制数. 13022(4)=1×44+3×43+0×42+2×4+2×40=256+192+0+8+2=458. 再把十进制数 458 化为六进制数. 458=2042(6). 故 13022(4)=2042(6).
本课结束
名师提醒 将 k 进制数化为十进制数的方法
先把 k 进制数写成各位上的数字与 k 的幂的乘积之 和的形式,再按照十进制数的运算规则计算出结果.
[针对训练 1] (1)101(2)转化为十进制数是( )
A.2
B.5
C.20
D.101
(2)下列最大数是( )
A.110(2)
B.18
C.16(8)
D.20(5)
[答案] (1)C (2)2042(6)
题型三 不同进位制间的转化 典例 3 把五进制数 1234(5)转化为十进制数,再把它转 化为八进制数. [解] ∵1234(5)=1×53+2×52+3×51+4×50=194,而
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
将k进制数转为十进制数:
an an1 a1a0( k )
n1
an k an1k
n
a1k a0k
1
0
例1 把二进制数110011(2)化为十进制数. 解:110011(2)=1×25+1 ×24+ 0×23+0 ×22 + 1×21+1 ×20 =51
END
开始 输入a,k 求a除以k的商q
① 将依次输出的r从右到左排列 结束
求a除以k的余数r
输出r a=q 否 q=0? 是 ①
INPUT
“a,k=” ;a,k
b=0
i=0 DO q=a\k r=a MOD k
b=b+r*10^i
i=i+1 a=q LOOP UNTIL q=0 PRINT b
进位制
① 开始 把a的右数第i位数字赋给t
输1
b=0 i=1 ① i=i+1
i>n?
是 输出b 结束
否
INPUT a,k,n i=1
b=0 DO t=GET a[i] b=t*k^(i-1)+b
i=i+1 LOOP UNTIL i>n PRINT b
END
GET函数用于取出a的右数第i位数
INPUT i=1 b=0
a, k, n
t=a MOD 10
DO
b=b+t*k^(i-1) a=a\10 t=a i=i+1 LOOP UNTIL i>n PRINT b MOD 10
END
INPUT i=1 b=0
a, k, n
t=a MOD 10
WHILE
i<=n
b=b+t*k^(i-1) a=a\10 t=a i=i+1 WEND PRINT b MOD 10
an an 1 a1a0 ( k )
(0 an k ,0 an 1 , a1 , a0 k )
3721=3×103+7 ×102+2 ×101+1 ×100 110011(2)=1×25+1 ×24+ 0×23+0 ×22 + 1×21+1 ×20
7342(8)=7×83+3 ×82+4 ×81+2×80
练习:把下列数化为十进制数
(1) 1011010(2) (2) 10212(3)
(3) 2376(3)
将十进制数转为k进制数:
除k取余法
例2 把89化为二进制数.
除2取余法
例3 把89化为五进制数.
除5取余法
2、十进制转换为二进制 例2 把89化为二进制数 2 2 2 2 2 2 2 89 48 22 11 5 2 1 0 余数 1 0 0 1 1 0 1
1.3 算法案例
进位制是人们为了计数和运算便而约定的 记数系统.“满十进一”就是十进制,“满 二进一”就是二进制,“满k进一”就是k 进制,因此k进制需数k个数字. 判断下列数表达是否正确? (1) 12(2) (2) 061(7) (3) 291(8)
一般地,若k是一个大于1的整数,那么以 k为基数的k进制数可以表示为一串数字连 写在一起的形式:
END
注意: 1.最后一步商为0, 2.将上式各步所得的余数从下到上排列,得到:89=1011001(2)
练习 将下面的十进制数化为二进制数? (1)10 (2)20 (3)128 (4)256
3、十进制转换为其它进制 例3 把89化为五进制数
解: 根据除k取余法 以5作为除数,相应的除法算式为: 5 89 5 17 5 3 0
余数
4 2 3
所以,89=324(5)。
练习:完成下列进位制间的转化
(1) 154(6)=_____ (7) (2) 412(5) =_____ (7)
(3) 119(10)=_____ (6)
小结与作业
1、进位制的概念
2、掌握二进制与十进制之间的转换
作业:
P50. P47. 3 3
算法案例三