计算机教学中的进制转换方法解析与应用
2016-11-17海南软件职业技术学院
海南软件职业技术学院 王 晶
计算机教学中的进制转换方法解析与应用
海南软件职业技术学院 王 晶
进制在计算机课程教学中是一个非常重要的概念,初学者在学习时通常对进制的概念理解不深入,同时不能熟练的进行不同进制数的转换,本文主要对二进制数与十进制数互换提供了几种不同的计算方法,以便于学生在学习和各种考试中能够快速的计算出结果。
进制 转换 二进制 十进制 方法
在当今互联网时代背景下,人们每天不断的和各种信息进行互通和交流,信息拉近了人与人之间的距离并且也连通了整个世界。而这些信息可以概括为数据、文字、声音、图形和图像几种不同的形式。对于计算机来说,这些信息却都是以二进制数进行存储的。另外,在表示计算机内存地址时经常用到八进制数和十六进制数。但人们习惯使用十进制数,对其它制数并不熟悉,因此不同进制数之间的转换就显得至关重要,尤其是二进制数与十进制数之间的转换方法在计算机教学中作为重点。
1.进制的概念
进制是“进位计数制”的简称,是用一组固定的符号来表示数值的方法。计算机中常用的进制是二进制、八进制、十六进制和十进制数。其中,在各个进制中使用的不同符号的个数为基,进制中每一位所具有的值为位权。对于不同的进制数记作R进制,则基为R,位权是以为R底的幂。计算的规则是逢R进一,借一当R。需要注意的是二进制数使用“0”和“1”两个符号来表示,八进制数使用“0、1、2、3、4、5、6、7”共八个符号来表示,而十六进制数使用“0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F”这十六个符号来表示。任何一个数值都可以使用不同的进制来表示,如十进制数20,二进制数表示为10100,八进制数为24,十六进制数为14,这四种进制数只是表示形式和使用场合不同,而数值大小是一样的。
2.二进制数转换为十进制数
2.1按权展开法
将要转换的二进制数从高位到低位按权展开进行多项式的求和。
该方法的优点是容易理解,缺点是如果二进制数位数过多会导致展开的多项式较长。
例如将二进制数1011.0101转换为十进制数。
(1011.0101)2=(1×23+0×22+1×21+1×20+0×2-1+1×2-2+0×2-3+1×2-4)10=(8+2+1+0.25+0.0625)10=(11.3125)10
2.2权值求和法
该方法通过2.1演变而来,需要创建一个权值查询表。假设要转换的二进制整数位为8位,小数位为4位,将每一位的权值计算出得到等比数列128、64、32、16、8、4、2、1、0.5、0.25、0.125、0.0625(该数列可根据整数和小数位数可灵活增减)记录在表1中,然后按以下两个步骤即可得出结果。
步骤1:将要转换的二进制数的每一位和权值查询表中的位相对应;
步骤2:将二进制为“1”的权值进行相加求和。
该方法的优点是省去按权展开的麻烦,能够提升计算速度,缺点是需要牢记以上提到的数列。
二进制数1011.0101与权值查询表的对应关系如表2所示。
(1011.0101)2=(8+2+1+0.25+0.0625)10=(11.3125)10十进制数转换为二进制数。
3.1除2取余乘2取整法
整数:除2取余法。即使用该十进制数依次除以2取余数(必定为0或1),直至商为0停止运算,得出的余数由下向上写出即为十进制整数部分的二进制数。
小数:乘2取整法。即使用该十进制数乘以2,取得积的整数部分(必定为0或1),用剩余的小数继续乘以2取得积的整数部分,直到积为0.0停止运算,最先取到的整数为小数的高位,以此类推,得到十进制小数的二进制数。如果进行多次乘法后积都不为0.0,需要按所需精度进行舍入处理。
例如将十进制数156.6875转换成二进制数。
将整数156和小数0.6875转换分别为二进制数过程如下:
将整数和小数合并得出(156.6875)10=(10011100.1011)2。
该方法的优点是容易理解,缺点是整数和小数要使用不同的计算方法而且过程相当繁琐。
3.2权值循环分解法
步骤1:从表1最左边的数据(首次为128,否则为查找之后的数据)开始进行查找,找到第一个小于当前正在判断的数据,将十进制数据写成表中已找到的数据与另一个数据之和;
步骤2:判断步骤1中的另一个数据是否是表1中的数据,如果是则停止相加运算,否则重复步骤1,直到相加的两个数据都是表1中的数据。
步骤3:找到步骤1和步骤2使用到的全部在表1中的数据,将其对应的二进制位写1,其它位写0;
根据以上步骤将十进制数156.6875转换成二进制数计算过程如下:
表1 权值查询表
表2 二—十进制权值对照表
156=128+28;
28=16+12;
12=8+4(8、4都是表1中的数据,停止运算);
0.6875=0.5+0.1875;
0.1875=0.125+0.0625(0.125、0.0625都是表1中的数据,停止运算);
经查表128、16、8、4、0.5、0.125、0.0625对应二进制位B7B4B3B2B-1B-3B-4,该二进制数位均为1,其它位为0,即(156.6875)10=(10011100.1011)2。
该方法的优点是完全能够克服3.1中的缺点提高计算效率,缺点是需要理解并记忆以上3个步骤。
4.总结
本文对二进制数和十进制数的互相转换给出了两种计算方法,同时给出了各自的优缺点,2.1和3.1作为最基本的方法一般在教材中都有介绍,2.2和3.2在前者的基础上进行了总结和改进,而这里最为关键的是要牢记权值查询表,反复练习后发现使用2.2和3.2中
提到的方法能够很大程度提高解题效率,起到事半功倍的效果。
[1] 张钧良,林雪明.计算机组成原理[M].第3版.北京:电子工业出版社,2010.
[2]马新文.分析进制转换在计算机应用中的技巧[J].中国电子商务, 2013(1).
[3]罗少甫,董明.计算机应用基础中进制转换的教学方法探讨[J].重庆航天职业技术学院学报, 2015(4).
[4]田祖伟,孙光,杨素萍.计算机进制转换的快速方法及应用[J].电脑编程技巧与维护, 2008(17).
[5]石元聆.进制转换教学设计[J].计算机时代, 2015(11).
[6]张玉彤.浅析进制转换在计算机应用中的技巧[J].数字技术与应用,2011(7).
王晶(1984-),女,陕西西安人,硕士学位,现为海南软件职业技术学院软件工程系教师,主要研究方向:软件开发。