1.3.1算法案例(3)

1.3.1算法案例(3)

ID:43397394

大小:203.00 KB

页数:18页

时间:2019-10-08

1.3.1算法案例(3)_第1页
1.3.1算法案例(3)_第2页
1.3.1算法案例(3)_第3页
1.3.1算法案例(3)_第4页
1.3.1算法案例(3)_第5页
资源描述:

《1.3.1算法案例(3)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、案例三 进位制[问题2]十进制数3721中的每一个数表示什么意思?这个数能写出什么形式?3721=3×103+7×102+2×101+1×100.C7A16(16)=12×164+7×163+10×162+1×161+6×160[问题1]什么叫做基数?一般地,若k是一个大于1的整数,那么以k为基数的k进制数可以表示为一串数字连写在一起的形式anan-1…a1a0(k)(0

2、,即anan-1…a1a0(k)=an×kn+an-1×kn-1+…+a1×k1+a0×k0.注意这是一个n+1位数.[问题3]二进制只用0和1两个数字,这正好与电路的通和断两种状态相对应,因此计算机内部都使用二进制.计算机在进行数的运算时,先把接受到的数转化成二进制数进行运算,再把运算结果转化为十进制数输出.那么二进制数与十进制数之间是如何转化的呢?例1:把二进制数110011(2)化为十进制数.分析:先把二进制数写成不同位上数字与2的幂的乘积之和的形式,再按照十进制数的运算规则计算出结果.解:110011(2)=1×25+1×24+0×23+0×22+1×21+1×20

3、=1×32+1×16+1×2+1=51.[问题4]你会把三进制数10221(3)化为十进制数吗?解:10221(3)=1×34+0×33+2×32+2×31+1×30=81+18+6+1=106.k进制数转化为十进制数的方法先把k进制的数表示成不同位上数字与基数k的幂的乘积之和的形式,即anan-1…a1a0(k)=an×kn+an-1×kn-1+…+a1×k1+a0×k0.再按照十进制数的运算规则计算出结果.例2.设计一个算法,把k进制数a(共有n位)化为十进制数b.开始输入a,k,nb=0i=1①①把a的右数第i位数字赋给tb=b+t*ki-1i=i+1i>n?否是输出

4、b结束程序框图:INPUTa,k,ni=1b=0DOb=b+t*k^(i-1)i=i+1LOOPUNTILi>nPRINTbENDt=aMOD10a=a10t=aMOD10程序:例3:把89化为二进制的数.分析:把89化为二进制的数,需想办法将89先写成如下形式89=an×2n+an-1×2n-1+…+a1×21+a0×20.89=64+16+8+1=1×26+0×25+1×24+1×23+0×22+0×21+1×20=1011001(2).但如果数太大,我们是无法这样凑出来的,怎么办?441例3:把89化为二进制的数.我们可以用下面的除法算式表示除2取余法:289余数2

5、2202110251221210201把算式中各步所得的余数从下到上排列,得到89=1011001(2).这种方法也可以推广为把十进制数化为k进制数的算法,称为除k取余法.例4:把89化为五进制的数.解:以5作为除数,相应的除法算式为:174589余数532503∴89=324(5).开始输入a,k求a除以k的商q求a除以k的余数r①把得到的余数依次从右到左排列否结束输出全部余数r排列得到的k进制数a=qq=0?是①INPUT“a,k=”;a,kb=0i=0DOq=akr=aMODkb=b+r*10^ii=i+1a=qLOOPUNTILq=0PRINTbEND[问题5]你

6、会把三进制数10221(3)化为二进制数吗?解:第一步:先把三进制数化为十进制数:10221(3)=1×34+0×33+2×32+2×31+1×30=81+18+6+1=106.第二步:再把十进制数化为二进制数:106=1101010(2).∴10221(3)=106=1101010(2).小结进位制的概念及表示方法;各种进位制之间的相互转化.anan-1…a1a0(k)=an×kn+an-1×kn-1+…+a1×k1+a0×k0.请同学们下课休息作业:完成活页

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。