APP下载

一种数制转换的简易算法及在IP规划中的应用

2017-05-26袁礼韩庆生张丽娟

教育教学论坛 2017年20期

袁礼+韩庆生+张丽娟

摘要:数制转换的方法和技巧是计算机基础、网络教学课程中一个重要的教学内容。本文介绍了一种加减法实现数制转换的简易算法,力求在教学实践中取得良好的教学效果。

关键词:数制;数制转换;IP规划

中图分类号:G642.0 文献标志码:A 文章编号:1674-9324(2017)20-0220-02

数制及其转换是计算机应用基础教学的难点,目前在大多数教材中,有关十进制到二进制转换的方法,整数部分采用的是“除2取余法”,小数部分采用的是“乘2取整法”,但是这两种方法计算相对繁杂,容易出错,而采用加减法来实现十进制到二进制的转换,则相对简单易懂。

一、数制转换的基本原理

数制是人们用一组统一规定的符号和规则来表示数的方法。

基数是一个计数制所包含的数字符号的个数。例如,十进制的基数为10,有10个数字符号:0、1、2、3、4、5、6、7、8、9,逢10进一;二进制的基数为2,有2个数字符号:0、1,逄2进一。

在数制中,各个数字所表示值的大小不仅与该数字本身的大小有关,还与该数字所在的位置有关,这种关系称为数的位权。在十进制中的个位、十位、百位分别对应的位权为10■、10■、10■。例如:二进制转化为十进制:(10010.011)■=1×2■+0×2■+0×2■+1×2■+0×2■+0×2-1+1×2-2+1×2-3=(18.375)10

可以看出二进制比十进制简单,因为1乘以任何数不变,等于其位权值,而0乘以任何数都等于0,所以上面的式子可以简单的表示为:(10010.011)■=2■+2■+

2■+2■=8+2+0.25+0.125=(18.375)10

二、数制转换的特点分析

以小数点为界,下面把二进制每个位的位权值以十进制表示,因为通常手工计算一般在8位以内,小数部分一般不超过4位,当然可以根据精度选取更多位。如特殊值2■=256、2■=512、2■=1024等,需要注意的是8位二进制数2■=256表示的值不是1—256,而是0—255,下面将2进制转换为十进制列成表格。

三、简易算法

用加减法完成十进制到二进制的转换我们简称为简易算法,下表中,表格中的第一行为十进制数,表格中的第二行为转换后的二进制数。例如十进制:137.725。

1.整数部分转换为二进制。

137>128,所以128的二进制对应数码标记为1;

137-128=9>8,所以8的二进制对应数码标记为1;

9-8=1,所以1的二进制对应数码标记为1;

其余为:0。

2.小数部分。

0.725>0.5,所以小数点右第一个二进制对应数码为1;

0.725-0.5=0.225<0.25,所以小数点右第二个二进制对应数码为0;

0.225>0.125,0.225-0.125=0.1,所以小数点右第三个二进制对应数码为1;

0.1>0.0625,所以小数点右第四个二进制对应数码为1。

3.简易算法的扩展。

有了以上知识,可以看出二进制有如下特点:每一个位权等于它右边的所有的位权加1。如:16其右边的所有位权(全为1)之和为15,32其右边的所有位权(全为1)之和为31。下面再研究一下左边全为1的情况,并增加新的一行表格来简化大于128—255区间的计算,如下图:192=128+64表示二进制左边两个最高位权为1,224=128+64+32表示二进制左边三个最高位权为1,以此类推255=128+64+32+16+8+4+2+1表示所有的二进制位从最高位到最低位的值为1。记忆这些特殊位权可以方便计算,当十进制的值大于128时,那么从表格的第一行可以直接确认从最左边的最高位有几个1。例如:250转换为2进制数。

判断:248<250<252,大于128从表格第一行判断248左边的二进制高位全部记为1;250-248=2,小于128从表格第二行判断2的二进制对应数码记为1,其余为0。

四、简易算法在IP规划中的应用

IP地址=网络地址+主机地址,或者IP地址=主机地址+子网地址+主机地址。

以C类192.168.1.0为例,划分子网,假设借用三个主机位,子网掩码255.255.255.224(/27),请判断有多少个子网?每个子网的主机数是多少?可用的IP地址有哪些?

判断子网数:由于借用三位23=8,所以可以产生8个子网。

判断每个子网的主机数:由于只剩5位做主机位,所以每个子网的主机数为25-2=30,减2是因为每个子网的起始地址全0(子网网络号)和最后一个全1(子网的广播地址)的地址不能分配作为主机地址。

每个子网的起始地址:主要由左边3个借位确定,可用主机IP由右边5位确定,详见下表。

五、结语

从以上例子可以看出,灵活掌握和运用十进制到二进制的转换,能简化计算,起到事半功倍的作用。同时,这种直观的启发式教学,让学生更容易理解和接受,并减少了错误的发生。

参考文献:

[1]莫小梅.《大学计算机基础》课程中关于数制转换的教学探讨[J].電脑知识与技术,2010,(33):9561-9563.

[2]袁立东.计算机中数制转换教学设计[J].硅谷,2011,(01):86.

[3]陈振威,任琴.浅谈数制转换技巧[J].科技信息(学术研究),2007,(28):102-103.