首页 » 正文内容 » 十进制数化为k进制数

十进制数化为k进制数

时间:2022-05-13 23:10:24  热度:1°C

1、1/3 算法案例/第四课时/问题提出/1/“满几进一”就是几进制,k进制使用哪几个数字,k进制数化为十进制数的一般算式是什么?/2/利用k进制数化十进制数的一般算式,可以构造算法,设计程序,通过计算机就能把任何一个k进制数化为十进制数/在实际应用中,我们还需要把任意一个十进制数化为k进制数的算法,对此,我们作些理论上的探讨//十进制化k进制/例1/把89化为二进制的数//分析/把89化为二进制的数/需想办法将89先写成如下形式/89=an2n+an-12n-1+a121+a020 //89=64+16+8+1=126+025+124 +123+022+021+120 =1011001(2)//

2、但如果数太大/我们是无法这样凑出来的/怎么办?/89=442+1/44=222+0/22=112+0/11=52+1/5=22+1/2=12+0/1=02+1/89=442+1/44=222+0/22=112+0/11=52+1/5=22+1/89=442+1/ =(222+0)2+1 =(112+0)2+0)2+1 =(52+1)2+0)2+0)2+1 =(22+1)2+1)2+0) 2+0)2+1 =(12)+0)2+1)2+1)2+0) 2+0)2+1/=126+025+124 +123+022+021+120=1011001(2)//可以用2连续去除89或所得商(一直到商为0为止)/然

3、后取余数-除2取余法//2=12+0/1=02+1/44 1/我们可以用下面的除法算式表示除2取余法//22 0/11 0/5 1/2 1/1 0/0 1/把算式中各步所得的余数从下到上排列/得到/89=1011001(2)//这种方法也可以推广为把十进制数化为k进制数的算法/称为除k取余法//知识探究(一)/除k取余法/练习/十进制数191化为五进制数是什么数?/191=1231(5)/思考/若十进制数 a除以2所得的商是q0,余数是r0, 即a=2q0+ r0;q0除以2所得的商是q1,余数是r1, 即q0=2q1+ r1; qn-1除以2所得的商是0,余数是rn, 即qn-1= rn,那

4、么十进制数a化为二进制数是什么数?/a=rnrn-1r1r0(2)/知识探究(二)/十进制化k进制的算法/思考1/根据上面的分析,将十进制数a化为二进制数的算法步骤如何设计?/第四步,若q0,则a=q,返回第二步; 否则,输出全部余数r排列得到 的二进制数//第一步,输入十进制数a的值//第二步,求出a除以2所得的商q,余数r//第三步,把所得的余数依次从右到左排列//思考2/利用除k取余法,将十进制数a化为k进制数的算法步骤如何设计?/第四步,若q0,则a=q,返回第二步; 否则,输出全部余数r排列得到 的k进制数//第一步,输入十进制数a和基数k的值//第二步,求出a除以k所得的商q,余数

5、r//第三步,把所得的余数依次从右到左排 列//思考3/将除k取余法的算法步骤用程序框图如何表示?/思考4/该程序框图对应的程序如何表述?/INPUT a,k/b=0/i=0/DO/q=ak/r=a MOD k/b=b+r*10i/i=i+1/a=q/LOOP UNTIL q=0/PRINT b/END/理论迁移/例1 将十进制数458分别转化为四进制数和六进制数//458=13022(4)=2042(6)/例2 将五进制数30241(5)转化为七进制数//30241(5)=354+252+45+1=1946//30241(5)=5450(7)/小结作业/1/利用除k取余法,可以把任何一个十进制数化为k进制数,并且操作简单、实用//2/通过k进制数与十进制数的转化,我们也可以将一个k进制数转化为另一个不同基数的k进制数//作业:P45练习:3/P48习题1/3A组:3(2),(4)//

免责声明:
1. 《十进制数化为k进制数》内容来源于互联网,版权归原著者或相关公司所有。
2. 若《86561825文库网》收录的文本内容侵犯了您的权益或隐私,请立即通知我们删除。