毕业论文-计算机一级课程中介绍的不同进制数转换方法之数学原理.doc_第1页
毕业论文-计算机一级课程中介绍的不同进制数转换方法之数学原理.doc_第2页
毕业论文-计算机一级课程中介绍的不同进制数转换方法之数学原理.doc_第3页
毕业论文-计算机一级课程中介绍的不同进制数转换方法之数学原理.doc_第4页
毕业论文-计算机一级课程中介绍的不同进制数转换方法之数学原理.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本 科 生 毕 业 论 文(设 计)( 2011 届)论文(设计)题目: 计算机一级课程中介绍的不同进制数转换方法之数学原理学 院:数学科学学院专 业:数学与应用数学学 号:姓 名: 指导教师姓名及职称: 2011年4月目 录一、摘要2二、关键字2三、正文2 1、二进制、八进制、十六进制转化为十进制2 1.1、二进制转化为十进制的一般方法2 1.2、按基值重复相加法3 1.3、八进制、十六进制转化为十进制3 2、十进制转化为二进制、八进制、十六进制3 2.1、十进制转化为二进制的方法3 2.2、十进制转化为八进制、十六进制6 3、二进制、八进制、十六进制之间的转换6 3.1、二进制与八进制之间的转换7 3.2、二进制与十六进制之间的转换8 3.3、八进制与十六进制之间的转换8四、参考文献10五、英文说明10计算机一级课程中介绍的不同进制数转换方法之数学原理专业:数学与应用数学 学号:内容摘要本文介绍了各种进制之间的各种转换方法,并通过不同进制之间转换的计算逐步推导,逐步揭示其数学原理。本文旨在研究数制转换的数学原理,但又能从基本原理中找到新的思路,新的方法,使数制转换更加快捷方便,简洁易懂。关键字方幂和;进制转换;取余法;按权展开法;减权定位法正文众所周知,在这个科技发展日新月异的时代,计算机已经成为一个人们大众化的必不可少的工具,而计算机工作原理是建立在二进制数计算的基础之上,而人们日常计数是采用十进制计算,这就带来了一些问题,二进制与十进制之间如何转换?后来又发展出了8进制,16进制数,各类进制数之间的转换也有相应的方法,笔者就进制转换的问题展开,探究进制转换原理,并在此基础上开拓新的思路,将进制转换的问题作进一步阐释。在介绍进制转换方法前,首先要介绍一个概念。方幂和,第一个概念是幂,幂:(power)指乘方运算的结果。指将n自乘m次的结果。叫做n的m次幂。方幂和即由n的不同次幂相加,例如:表示为n的一个方幂和,其中为小于n的常数。在后面的文中会常用到此概念,故在此引入。1.二进制,八进制,十六进制转换为十进制的一般方法。1.1二进制转换为十进制的一般方法。我们知道任意十进制数我们可以将其表示成10的一个方幂和,例如:。反过来我们将此方幂和按十进制相加就得到976。对于一个二进制数,例如:,我们将其表示成2的方幂和,即,如果按二进制相加,其结果仍旧为,如果按十进制相加,就得到一个十进制数16+4+2=22.此种方法又被称为“按权展开法”2。类似的,二进制的小数也可以按照此方法进行转换,例:=27.5.1.2按基值重复相加法1:整数部分采用基值重复相乘法,例:,小数部分采用基值重复相除:,我们来分析基值重复相乘法的原理,最高位乘2后加第二位,再乘2后加第三位,以此类推。我们将其展开得到=,而基值重复相除我们也类似展开得到:,即无论是基值相乘还是基值相除,其原理依旧是按权展开法。1.3八进制,十六进制转换为十进制。其方法与二进制转化为十进制方法一样,分别将其表示成8或16的方幂和,然后按十进制相加。各举一个例子:,。总结,将任意n进制数()转换成十进制数。其方法是将该数表示成n的方幂和,然后按十进制相加就得到所要转换的十进制数。2.十进制数转化为二进制、八进制、十六进制的方法2.1.十进制转化为二进制的方法。通常采用取余法1,即将十进制数连续除以2取其余数,直至余数小于2为止。例如将123转换为二进制数。重复除以2 得商 取余数1232 61 1 最低位612 30 1302 15 0152 7 172 3 132 1 112 0 1 最高位由此,我们还原一下重复相除的过程即:。显而易见,取余法实质就是按权展开法的逆运算。而为什么第一次除得的余数为最低位,而最后一次除得的位数为最高位呢?我们来分析这一过程:,我们将此幂的形式变换,我们提出公因子2,最后一项保留即:,由此我们看出第一次将123除以2余数为1商为,就是上式中括号里的部分,而余数1恰好是最后一位,同理我们再提出公因子2,即:。第二次除2得到的余数还是1,这就是倒数第二位,商。以此类推,最后一次余数为1是最高位。对于一个二进制数,设其为:,即。根据前面的推导,我们得出取余法实质是将其表示成如下形式:。而对应其二进制数的最高位,对应其二进制数的最低位。以此类推,余数从最低位开始,直至得出所转换的二进制数。然而,当所要转换的十进制数较大时,取余法就变的很繁琐,计算起来非常的麻烦,对于较大的十进制数有无快速转换的计算方法呢?就是下面要提到的“减权定位法”2。例如将十进制数5148转换为二进制数。十进制数 位权 转换后的结果 5148 -4096 1 0 1 0 0 0 0 0 1 1 1 0 0 1052 -1024 28-16 12 -8 4 -4 0于是有,减权定位法大大减少了重复相除的次数,不难看出,首先减去一个能够减去的最大2的幂,那么转换后二进制数的位数也同时确定,为12+1=13位。同时最高位上商1.由于为二进制数,每位只有0、1两种可能。以后依次减去能减去的最大的2的幂,同时上商1,其余没有减去的位权均上商0,就得到所有转换的二进制数。减权定位法缩短了计算步骤,在重复相除的过程中将余数为0的位数除法略去,从而一步到位,另外通过观察我们可以发现减权定位法其实是将十进制数5148表示成了2的方幂和。即:,我们略去2的幂系数为0的项,再转换为二进制数时从最高位起取其系数就得到所要转换的二进制数。对比发现这个过程就是按权展开法运算过程的逆。对比取余法和减权定位法,前者是逆运算,后者是运算过程的逆,显然减权定位法要比取余法更方便。在二进制转换为十进制数时,我们讨论过小数的转换,那么十进制转换为二进制时,小数又该如何转换呢?看下面一个例子:将0.6875转换为二进制。采取重复相乘法。重复乘以2 得小数部分 取整数0.68752 0.3750 1 最高位0.37502 0.7500 00.75002 0.5000 10.50002 0.0000 1 最低位所以,在二进制转换为十进制时,小数部分采用的是基值重复相除法,那么小数的十进制转换为二进制时就必然是重复相乘。这样就符合了转换为基值重复相乘的逆运算。同样我们也可以用减权定位法来计算,我们直接将其表示成2的方幂和的形式即:,同样取2的幂的系数。我们观察刚刚给的小数0.6875,在经过有限次重复相乘后刚好得到整数1,那么0.6875转换成的二进制数刚好是有限小数,那么是否任何一个十进制的小数都能转化为一个有限的二进制小数呢?显然不能,我们任取一个十进制小数0.53,按减权定位法,得到:,我们无法将其表示成有限个2的幂相加,即0.53转化为二进制数为无限小数。在二进制转化为十进制数时我们并未遇到此类问题,那么什么样的十进制小数才能转化为有限位的二进制小数呢?我们来分析0.6875这个小数,我们将其表示成分数的形式。即,观察分母为,分子为11,11转化为二进制数为,而0.6875转化为二进制数恰好为,这是不是某种巧合呢?进一步分析,我们在表示十进制小数时同时可以将其表示成相应的分数,例如,由于分母为10的4次幂,那么小数必定有四位,即6875,所以小数为0.6875。我们再来看约去公因数后的最简分式:,分母为2的4次幂,同样,转化为二进制小数时小数也为四位,而分母11同时转化为二进制数,于是转化为的小数就为。16相比10000正好约去了5的4次幂,所以分母变成了2的4次幂,所转化为的小数就为有限位。而不可约,分母不为2的任何次幂,那么所转化的二进制小数为无限小数。由于10=25,在小数0.6875中,6875=115555,所以恰好约去了5的4次幂,于是分母10000的5都被约去,剩下2的4次幂,由此我们给出一个结论,对于任何一个十进制小数我们表示成的形式,m,若m中含有n个5,则该小数能转化为有限位二进制小数。否则,转化为的二进制小数为无限小数。关于十进制数转化为二进制数,限于篇幅,就讨论到这里。2.2.十进制数转化为八进制数,十六进制数。类似的,转换原理一样,可采取取余法,除以8或16直至余数小于8或16为止。同样,也可采用减权定位法,但相对于二进制数而言,十进制数转化为八进制数或十六进制数时取余法需要重复相除的次数大大减少。取余法我们不再介绍,下面就减权定位法可能出现的问题做一个介绍。例如将22036转换为八进制数,所以最高权值为4即,在二进制数里,每位只可能是0或1,而在八进制数中,每位可以是0至7中的任何数,所以要确定首位数,要看22036中能减去多少个4096,经计算最多可减去5个即22036-54096=1556,再看能减去多少个,经计算可以减去3个,还剩20。20里还能减去2个8,剩下4为个位,于是。同样,十进制小数转化为八进制小数时分母约去所有因子5后还必须能表示成8的幂才能使转化成的小数为有限小数。而十进制转化为十六进制时,原理一样。总结,十进制数转化为二进制、八进制、十六进制数时,常用取余法或减权定位法,其原理为按权展开法的逆运算或运算过程的逆。3.二进制,八进制,十六进制数之间的转换。由于,所以三位二进制数正好对应一位八进制数,四位二进制数正好对应一位十六进制数。我们先来看二进制数与八进制数之间的转换。3.1.二进制数与八进制数之间的互转。我们知道,二进制数与八进制数有如下关系:八进制01234567二进制000001010011100101110111如上表所示,八进制与二进制数的关系,我们不难发现该表中二进制所对应的八进制数恰好也是其对应的十进制数。我们不妨这样理解,八进制逢8进1,十进制逢10进1,在8以前,八进制数与十进制数对应的二进制数相同,而八进制数,即十进制数的8。而二进制数转换为八进制数时,则由上表所对照的数制采用分组法。例如将转换为八进制数。以小数点为分组起点:1001011110.11101 分组起点高位补0 ,凑足3位 低位补0,凑足三位 001 001 011 110 . 111 010 1 1 3 6 . 7 2所以。反之,将八进制转换为二进制时则直接按位数写,例如将转化为二进制数。 7 6 4 2 . 1 5 111 110 100 010 . 001 101即:然而为什么一位八进制数对应3位二进制数呢?我们来看个例子。例如将转换为二进制数。先将其表示成8的方幂和即:。我们还可以将其表示成:,我们知道在十进制数中,任意一个数乘以10只需将其小数点向右移动一位,乘以10的平方则向右移动两位,以此类推,那么二进制中任何一个数乘以2则小数点同样向右移动一位。上式中的,即1的小数点向右移动6位得到。而的小数点向右移动三位即。所以有:。按分组法验证刚好一位八进制数对应三位二进制数。这是因为,每多一位八进制数就多出3位二进制数,八进制数小数点向右移动一位,其对应的二进制数小数点就向右移动三位,对应高位上的八进制数转化为2进制数即可,所以总是一位八进制数对应三位二进制数。3.2.二进制与十六进制之间的互转。类似于二进制与八进制之间的互转,四位二进制数正好对应一位十六进制数,其对应关系如下表:十六进制01234567二进制00000001001000110100010101100111十六进制89ABCDEF二进制10001001101010111100110111101111同样,十六进制数在F之前对应的二进制数与其相对应的十进制数对应的二进制数相同。在此就不再举例,其计算过程类似于二进制与八进制之间的互转。3.3.八进制与十六进制间的互转。八进制与十六进制之间的互转通常不能一步完成,需要借助二进制与其对应关系进行两次转换,而且需要熟记对应表,这样计算不免麻烦一点,那么八进制与十六进制之间能否实现一步转换?我们再回到最初的方幂和的概念,任意十进制数可以表示成10的方幂和,同样二进制数,八进制数,十六进制数都可以表示成相应的2的方幂和,8的方幂和,16的方幂和。我们知道,又82=16.我们任选一个十六进制数,例如,我们将其表示成16的方幂和即:,现在我们对其进行幂转换。步骤如下:我们先将16的幂化成8的幂,并将相应的因子2提出与其原来的系数相乘,若此系数不大于8,则保留此为作为幂的系数,若系数大于8,则将其进行8的取余除法,直至系数小于8,而多出的部分则进幂,即将幂的次数加一,同时与其相应的系数对应。上例中我们将最高位10分成了8+2,最高位进幂,即,余下的2作为8的4次幂的系数,同理,30乘以8的一次幂系数30大于8,变成38+6,进幂变成,6作为8的一次幂系数,如此,我们将该十六进制数表示成了8的方幂和,即马上得出所转化的八进制数,即。十六进制转换位八进制时,分解16的幂将其降低为8的幂,此计算相对简单,不容易出错,而且过程相对容易,比起借助于与二进制数的转换不容易出错,特别是数较大时,需要转换为的二进制数位数较长时容易出错,而此法只需要分解降幂就能很快得出结果。反过来,如果我们将八进制数转换为16进制数时需要将8的幂升为16的幂,此时需要将8分解为,并根据8的幂来凑16的幂,相对于16的幂降为8的幂而言,计算过程稍微复杂一点,我们举例说明。例如将转换为十六进制数。我们将其表示成8的方幂和并对其进行幂的转换。计算过程如下:由此,我们将该数表示成了16的方幂和,即马上得出所要转换的十六进制数。即:。八进制与十六进制之间的转换,如果借助二进制采取分组法,当所转换的数较长时,数位较长,计算繁琐,容易出错,例如上面的例子,7位八进制数,如果先转换为二进制数则长达21位,所以这里进行幂的转换要容易的多。关于八进制与十六进制小数之间的转换,同样采取幂转换法,具体计算就不再举例,补充一点,任何有限位八进制小数都能转换为有限位十六进制小数,反之则不然,因为对于十六进制小数,将其表示成分数的形式时,分子分母需要约去所有的因子2或者在约去部分因子2后分母所剩余的2的个数需为3的倍数,此时分母才能完全表示为8的幂,这样转换为的八进制小数才能为有限位。总结,二进制与八进制,十六进制之间的互转,通常采用分组法,直接转换得到结果,但有时位数较长时,计算比较麻烦,容易出错。八进制与十六进制之间的转换,如果借助二进制进行分组转换,步骤较多,容易出错。如果直接进行幂的转换,计算较为简单,不容易出错。小结.进制转换的原理。以往我们在进行进制转换时,不同进制之间的转换方法不同,如果不熟记各进制之间的转换方法,往往会无从下手。然而在我们逐步剖析了各进制之间转换的计算过程后会发现,进制转换无非是围绕着幂的转换进行的。文章一开始笔者就提到了方幂和的概念,并说明对任意的n进制数,都可以将其表示成n的方幂和,要将其转换为一个m进制数(mn),其目的就是将其表示成m的方幂和,原理就是进行幂的转换。当我们理解了进制转换的原理时就可以很快明确计算目的,找到计算方法。参考文献1林士敏,夏定元,刘晓燕大学计算机基础教程M.广西师范大学出版社,2006.7-11 2唐朔飞计算机组成原理M.高等教育出版社,2008.293-296Computer level course introduces different disables digital conversion of the methods of mathematical principl

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论