计算机进制转换的数学原理毕业论文.doc

上传人:坚持 文档编号:3629408 上传时间:2019-06-27 格式:DOC 页数:13 大小:1,009KB
下载 相关 举报
计算机进制转换的数学原理毕业论文.doc_第1页
第1页 / 共13页
计算机进制转换的数学原理毕业论文.doc_第2页
第2页 / 共13页
计算机进制转换的数学原理毕业论文.doc_第3页
第3页 / 共13页
计算机进制转换的数学原理毕业论文.doc_第4页
第4页 / 共13页
计算机进制转换的数学原理毕业论文.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、本 科 生 毕 业 论 文(设 计)( 2011 届)论文(设计)题目: 计算机一级课程中介绍的 不同进制数转换方法之数学原理学 院:数学科学学院专 业:数学与应用数学学 号:200710700098姓 名: 穆轶辰指导教师姓名及职称:林庆南副教授2011 年 4 月1目 录一、摘要2二、关键字2三、正文21、二进制、八进制、十六进制转化为十进制21.1、二进制转化为十进制的一般方法21.2、按基值重复相加法31.3、八进制、十六进制转化为十进制32、十进制转化为二进制、八进制、十六进制32.1、十进制转化为二进制的方法32.2、十进制转化为八进制、十六进制63、二进制、八进制、十六进制之间的

2、转换63.1、二进制与八进制之间的转2换73.2、二进制与十六进制之间的转换83.3、八进制与十六进制之间的转换8四、参考文献10五、英文说明10计算机一级课程中介绍的不同进制数转换方法之数学原理专业:数学与应用数学 学号:200710700098学生姓名:穆轶辰 指导老师姓名:林庆南内容摘要本文介绍了各种进制之间的各种转换方法,并通过不同进制之间转换的计算逐步推导,3逐步揭示其数学原理。本文旨在研究数制转换的数学原理,但又能从基本原理中找到新的思路,新的方法,使数制转换更加快捷方便,简洁易懂。关键字方幂和;进制转换;取余法;按权展开法;减权定位法正文众所周知,在这个科技发展日新月异的时代,计

3、算机已经成为一个人们大众化的必不可少的工具,而计算机工作原理是建立在二进制数计算的基础之上,而人们日常计数是采用十进制计算,这就带来了一些问题,二进制与十进制之间如何转换?后来又发展出了 8 进制,16 进制数,各类进制数之间的转换也有相应的方法,笔者就进制转换的问题展开,探究进制转换原理,并在此基础上开拓新的思路,将进制转换的问题作进一步阐释。在介绍进制转换方法前,首先要介绍一个概念。方幂和,第一个概念是幂,幂:(power)指乘方运算的结果。 指将 n 自乘 m 次的结果。叫做 n 的 m 次幂。方幂和即由 nm的不同次幂相加,例如: 表示为 n 的一个方幂和,其中110aa为小于 n 的

4、常数。在后面的文中会常用到此概念,故在此引入。01,ma1.二进制,八进制,十六进制转换为十进制的一般方法。1.1 二进制转换为十进制的一般方法。我们知道任意十进制数我们可以将其表示成 10的一个方幂和,例如: 。 反过来我们将此方幂和按十进制相加就210976076得到 976。对于一个二进制数,例如: ,我们将其表示成 2 的方幂和,即2( ) 210( ), 如果按二进制相加,其结果仍旧为 , 如果按十432101202 2( )进制相加,就得到一个十进制数 16+4+2=22.此种方法又被称为“按权展开法”2。类似的,二进制的小数也可以按照此方法进行转换,例:=27.5.4321012

5、(10.)1021.2 按基值重复相加法1:整数部分采用基值重复相乘法,例:,小数部分采用基值重复相除:2()()4,我们来分析基值重复相乘法的原理,最0.1120120.6875高位乘 2 后加第二位,再乘 2 后加第三位,以此类推。我们将其展开得到4= ,而基值重复(120)120)2154321002102相除我们也类似展开得到: ,即无论是基值相乘还是基值相4除,其原理依旧是按权展开法。1.3 八进制,十六进制转换为十进制。其方法与二进制转化为十进制方法一样,分别将其表示成 8 或 16 的方幂和,然后按十进制相加。各举一个例子:,32101(140)(48)736。06 131065

6、)4927AF总结,将任意 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 最高位由此, ,我们还原一下重复相除的过程即:102(23)()。65432101)220显而易见,取余法实质就是按权展开法的逆运算。

7、而为什么第一次除得的余数为最低位,而最后一次除得的位数为最高位呢?我们来分析这一过程:,我们将此幂的形式变换,我们提65432102(10)120出公因子 2,最后一项保留即: ,由此我们看543210(1 )5出第一次将 123 除以 2 余数为 1 商为 ,就是上式5432106210中括号里的部分,而余数 1 恰好是最后一位,同理我们再提出公因子 2,即:。第二次除 2 得到的余数还是 1,这就是倒数第二位,商4322(10)。以此类推,最后一次余数为 1 是最高位。对于一个二进制数,130设其为: ,即 。根据前面的推导,我们得出10nm1102nnmm取余法实质是将其表示成如下形式:

8、 。而 对应210(2)nnnm n其二进制数的最高位, 对应其二进制数的最低位。以此类推,余数从最低位开始,直至0得出所转换的二进制数。然而,当所要转换的十进制数较大时,取余法就变的很繁琐,计算起来非常的麻烦,对于较大的十进制数有无快速转换的计算方法呢?就是下面要提到的“减权定位法”2。例如将十进制数 5148 转换为二进制数。十进制数 位权 转换后的结果5148 121098765432102-4096 1 0 1 0 0 0 0 0 1 1 1 0 0121052-1024 1028-16 4212-8 34-4 20于是有 ,减权定位法大大减少了重复相除的次数,不难看出,首12(548

9、)(01)先减去一个能够减去的最大 2 的幂,那么转换后二进制数的位数也同时确定,为 12+1=13 位。6同时最高位上商 1.由于为二进制数,每位只有 0、1 两种可能。以后依次减去能减去的最大的 2 的幂,同时上商 1,其余没有减去的位权均上商 0,就得到所有转换的二进制数。减权定位法缩短了计算步骤,在重复相除的过程中将余数为 0 的位数除法略去,从而一步到位,另外通过观察我们可以发现减权定位法其实是将十进制数 5148 表示成了 2 的方幂和。即:,我们略去 2 的幂系数为 0 的项,再转换为二进制121043254821数时从最高位起取其系数就得到所要转换的二进制数。对比发现这个过程就

10、是按权展开法运算过程的逆。对比取余法和减权定位法,前者是逆运算,后者是运算过程的逆,显然减权定位法要比取余法更方便。在二进制转换为十进制数时,我们讨论过小数的转换,那么十进制转换为二进制时,小数又该如何转换呢?看下面一个例子:将 0.6875 转换为二进制。采取重复相乘法。重复乘以 2 得小数部分 取整数0.68752 0.3750 1 最高位0.37502 0.7500 00.75002 0.5000 10.50002 0.0000 1 最低位所以 ,在二进制转换为十进制时,小数部分采用的是基值重复相除法,102(.6875)(.)那么小数的十进制转换为二进制时就必然是重复相乘。这样就符合了

11、转换为基值重复相乘的逆运算。同样我们也可以用减权定位法来计算,我们直接将其表示成 2 的方幂和的形式即:,同样取 2 的幂的系数。我们观察刚刚给的小数 0.6875,在经1340.687522过有限次重复相乘后刚好得到整数 1,那么 0.6875 转换成的二进制数刚好是有限小数,那么是否任何一个十进制的小数都能转化为一个有限的二进制小数呢?显然不能,我们任取一个十进制小数 0.53,按减权定位法,得到: ,我们无法将其1670.5322 表示成有限个 2 的幂相加,即 0.53 转化为二进制数为无限小数。在二进制转化为十进制数时我们并未遇到此类问题,那么什么样的十进制小数才能转化为有限位的二进

12、制小数呢?我们来分析 0.6875 这个小数,我们将其表示成分数的形式。即 ,观察分母为687510,分子为 11,11 转化为二进制数为 ,而 0.6875 转化为二进制数恰好为4162 2(10)7,这是不是某种巧合呢?进一步分析,我们在表示十进制小数时同时可以将其表示2(0.1)成相应的分数,例如 ,由于分母为 10 的 4 次幂,那么小数必定有四468750.10位,即 6875,所以小数为 0.6875。我们再来看约去公因数后的最简分式: ,分母为41622 的 4 次幂,同样,转化为二进制小数时小数也为四位,而分母 11 同时转化为二进制数,于是转化为的小数就为 。16 相比 10

13、000 正好约去了 5 的 4 次幂,所以分(10) 2(0.1)母变成了 2 的 4 次幂,所转化为的小数就为有限位。而 不可约,分母不为 2 的任30.51何次幂,那么所转化的二进制小数为无限小数。由于 10=25,在小数 0.6875 中,6875=115555,所以恰好约去了 5 的 4 次幂,于是分母 10000 的 5 都被约去,剩下2 的 4 次幂,由此我们给出一个结论,对于任何一个十进制小数我们表示成 的形式,m10n,若 m 中含有 n 个 5,则该小数能转化为有限位二进制小数。否则,转化为的二进制小10n数为无限小数。关于十进制数转化为二进制数,限于篇幅,就讨论到这里。2.

14、2.十进制数转化为八进制数,十六进制数。类似的,转换原理一样,可采取取余法,除以 8 或 16 直至余数小于 8 或 16 为止。同样,也可采用减权定位法,但相对于二进制数而言,十进制数转化为八进制数或十六进制数时取余法需要重复相除的次数大大减少。取余法我们不再介绍,下面就减权定位法可能出现的问题做一个介绍。例如将 22036 转换为八进制数, ,所以最高权值为 4 即 ,在二进制数里,每位只可能是 0 或 1,而5203688096在八进制数中,每位可以是 0 至 7 中的任何数,所以要确定首位数,要看 22036 中能减去多少个 4096,经计算最多可减去 5 个即 22036-54096

15、=1556,再看能减去多少个 ,经计算38可以减去 3 个,还剩 20。20 里还能减去 2 个 8,剩下 4 为个位,于是 。108(26)(524)同样,十进制小数转化为八进制小数时分母约去所有因子 5 后还必须能表示成 8 的幂才能使转化成的小数为有限小数。而十进制转化为十六进制时,原理一样。总结,十进制数转化为二进制、八进制、十六进制数时,常用取余法或减权定位法,其原理为按权展开法的逆运算或运算过程的逆。3.二进制,八进制,十六进制数之间的转换。8由于 ,所以三位二进制数正好对应一位八进制数,四位二进制数正好对应3428,16一位十六进制数。我们先来看二进制数与八进制数之间的转换。3.

16、1.二进制数与八进制数之间的互转。我们知道,二进制数与八进制数有如下关系:八进制 0 1 2 3 4 5 6 7二进制 000 001 010 011 100 101 110 111如上表所示,八进制与二进制数的关系,我们不难发现该表中二进制所对应的八进制数恰好也是其对应的十进制数。我们不妨这样理解,八进制逢 8 进 1,十进制逢 10 进 1,在 8 以前,八进制数与十进制数对应的二进制数相同,而八进制数 ,即十进制数的 8。而2(10)二进制数转换为八进制数时,则由上表所对照的数制采用分组法。例如将转换为八进制数。2(10.10)以小数点为分组起点:1001011110.11101分组起点

17、高位补 0 ,凑足 3 位 低位补 0,凑足三位001 001 011 110 . 111 0101 1 3 6 . 7 2所以 。28(0.0)(1)反之,将八进制转换为二进制时则直接按位数写,例如将 转化为二进制数。8(7642.15)7 6 4 2 . 1 5111 110 100 010 . 001 101即: 8 2(42.15)(00)然而为什么一位八进制数对应 3 位二进制数呢?我们来看个例子。例如将 转换为8(123)二进制数。先将其表示成 8 的方幂和即: 。我们还可以将其表示成:2183,我们知道在十进制数中,任意一个数乘以 10 只需将其小数点向右移动一6312位,乘以

18、10 的平方则向右移动两位,以此类推,那么二进制中任何一个数乘以 2 则小数点9同样向右移动一位。上式中的 ,即 1 的小数点向右移动 6 位得到 。而62 2(10)的小数点向右移动三位即 。 。所以有:102()2(0)102(3)。按分组法验证刚好一位八进制数对应三位二进制数。221)(0)这是因为 ,每多一位八进制数就多出 3 位二进制数,八进制数小数点向右移动一位,38其对应的二进制数小数点就向右移动三位,对应高位上的八进制数转化为 2 进制数即可,所以总是一位八进制数对应三位二进制数。3.2.二进制与十六进制之间的互转。类似于二进制与八进制之间的互转,四位二进制数正好对应一位十六进

19、制数,其对应关系如下表:十六进制 0 1 2 3 4 5 6 7二进制 0000 0001 0010 0011 0100 0101 0110 0111十六进制 8 9 A B C D E F二进制 1000 1001 1010 1011 1100 1101 1110 1111同样,十六进制数在 F 之前对应的二进制数与其相对应的十进制数对应的二进制数相同。在此就不再举例,其计算过程类似于二进制与八进制之间的互转。3.3.八进制与十六进制间的互转。八进制与十六进制之间的互转通常不能一步完成,需要借助二进制与其对应关系进行两次转换,而且需要熟记对应表,这样计算不免麻烦一点,那么八进制与十六进制之间能否实现一步转换?我们再回到最初的方幂和的概念,任意十进制数可以表示成 10 的方幂和,同样二进制数,八进制数,十六进制数都可以表示成相应的2 的方幂和,8 的方幂和,16 的方幂和。我们知道 ,又 82=16.我们任选一个3428,16十六进制数,例如 ,我们将其表示成 16 的方幂和即:16(25)AF,现在我们对其进行幂转换。步骤如下:316(5)0AF22320881584103(2)(6)5428885

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。