预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

算法案例三 二进制 复习回顾 上节课我们讲解了算法的应用:求最大公约数的两种方法,下面我们再来看看: 新课导入: 一、进位制 1、什么是进位制? 2、最常见的进位制是什么?除此之外还有哪些常见的进位制?请举例说明. 进位制是人们为了计数和运算方便而约定的记数系统。 问题1、我们了解十进制吗?所谓的十进制,它是如何构成的? 解答:十进制由两个部分构成。第一、它有0、1、2、3、4、5、6、7、8、9十个数字;(用10个数字来记数,称基数为10);第二、它有“权位”,即从右往左为个位、十位、百位、千位等等。 例如:3721表示有:1个1,2个十,7个百即7个10的平方,3个千即3个10的立方, 其它进位制的数又是如何的呢? 问题二、二进制 (1)二进制的表示方法 二进制是用0、1两个数字来描述的。如11001等 区分的写法:11001(2)或者(11001)2 8进制呢?如7342(8) k进制呢?anan-1an-2…a2a1(k)? 二、二进制与十进制的转换 1、二进制数转化为十进制数 例1将二进制数110011(2)化成十进制数 解:根据进位制的定义可知 所以,110011(2)=51。 练习 (4)11111 (3)1111 (2)111 (1)11 将下面的二进制数化为十进制数? 2、十进制转换为二进制 (除2取余法:用2连续去除89或所得的商,然后取余数) 89=2×44+1 例2把89化为二进制数 5=2×2+1 11=2×5+1 22=2×11+0 44=2×22+0 解:根据“逢二进一”的原则,有 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 =2×(2×(2×(2×(2×2+1)+1)+0)+0)+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×(2×(2×(23+2+1)+0)+0)+1 =2×(2×(24+22+2+0)+0)+1 =2×(25+23+22+0+0)+1 =26+24+23+0+0+21 所以89=2×(2×(2×(2×(2×2+1)+1)+0)+0)+1 方法二:略 练习 将下面的十进制数化为二进制数? (1)10(2)20(3)128(4)256 3、十进制转换为其它进制 例3:把89化为五进制数 解:根据除k取余法,以5作为除数,相应的除法算式 所以,89=324(5) 例题4:将k进制数a转换为十进制数(共有n位)的程序 INPUTa,k,n i=1 b=0 WHILEi<=n t=GETa[i] b=t*k^(i-1)+b i=i+1 WEND PRINTb END 解:a=anan-1…a3a2a1(k) =ank(n-1)+an-1k(n-2)+…+a3k2+a2k1+a1k0 b=a1k0 b=a2k1+b b=a3k2+b …… b=ankn-1+b i=1 i=i+1 b=aiki-1+b ai=GETa[i] GET函数用于取出a的右数第i位数 小结与作业 1、进位制的概念 2、掌握二进制与十进制之间的转换