二进制与十进制转换的“笨”方法
2018-11-07许晓琪
许晓琪
摘 要:进制转换是计算机专业学生必须掌握的基础知识。中职学生学习基础薄弱,在学习进制转换上存在很大困难。如何解决学生这一学习上的困难?本文笔者作为一名计算机一线教师,将结合教学经验,对比传统进制转换方法,以二进制与十进制之间的进制转换为例,提出自己在教学中使用的行之有效的计算方法,与自己对教育教学的一点见解。
关键词:二进制;十进制;进制转换
计算机由千千万万个电子元器件(如电容、电感、二极管、三极管等)组成,这些电子元器件一般只有两种稳定的状态(如三极管的截止和导通),为了便于存储和物理实现,采用用高、低兩个电位表示“1”和“0”的二进制数值或编码。不论是数值、字符、图形、图像、声音在计算机内部都是采用二进制来存储和运算。用户与计算机打交道并不直接使用二进制数,而是十进制,然后由计算机自动将十进制数转换为二进制数。但是对于使用计算机的专业人员来说,了解进制数的特点以及它们之间的转换是必要的。
1 传统进制转换方法
十进制数其加法规则是“逢十进一”,任意一个十进制数值都可用0、1、2、3、4、5、6、7、8、9共10个数字符号组成的字符串来表示,这些数字符号称为数码;数码处于不同的位置代表不的数值。例如726可以写成7x102+2x101+6x100,此式称为按权展开表达式。
从十进制计数制的分析同理得出,任意R进制计数制同样有基数N和Ri按权展开的表示式。R可以是任意正整数,如二进制数R为2;十六进制数R为16。
任意一个具有n位整数和m位小数的R进制数的按权展开为:
(N)R=dn-1×RN-1+dn-2×RN-2+…+d2×R2+d1×R1+d0×R0其中di为R进制的数码。
非十进制数转换成十进制数,利用按权展开“加权系数之和”的方法,如二进制转换为十进制:1010 B=1 ×23+0 ×22+1 ×21+0 ×2 0=10。
十进制整数转换成R进制整数,采用“除R取余”的方法。具体步骤是:把十进制整数除以R得一商数和一余数;将所得的商除以2,得到一个新的商数和余数;依此不断用2去除所得的商数,直到商等于0为止。每次相除所得的余数即是对应的二进制整数的各位数码。第一次得到的余数为最低有效位,最后得到的余数则为最高有效位。
传统的进制转换方法通用性强,对于数学基础好的学生是一种非常科学的计算方法,但是对于数学基础差、理解能力薄弱的中职生来说,却犹如雾里看花。作为一名计算机教师,每年在教授学生进制转换方法的过程中,总能明显感觉到学生对教材中的进制转换方法理解的困难——大部分学生完全不能理解繁琐的数值转换方法,要么生搬硬套转换方法,死记硬背计算过程,只有少数学生能够勉强掌握数值转换方法。针对中职学生的实际情况,我认真分析学生情况,因材施教,教授学生采用最“笨拙”的方法进行计算。
2 “笨拙”的进制转换方法
二进制顾名思义以2为权,位数从低到高分别代表20=1,21=2,22=4,23=8,24=16,25=32,……210=1024。学生能够轻松掌握以2为底的幂计算,为后面进制转换提供了计算基础。二进制转换为十进制依旧是求加权系数之和,我改变传统的列式子的方法,利用画表格进行计算,例如1010B转换为十进制:
十进制数转换为二进制数则是采用拆分法,解决学生对繁复的除权求余难以理解的问题。例如计算十进制数428转换为二进制数:首先,学生在草稿纸上算出2的幂,从右往左写,直到有幂值大于428:
其次,使用减法运算,将428完全拆分成2的幂的值,过程如下:
将428减去比它小的最大幂值256,即428-256=172。
将172减去比它小的最大幂值128,即172-128=44。
将44减去比它小的最大幂值32,即44-32=12。
将12减去比它小的最大幂值8,得4,完成拆分。
最后,被减的对应幂值为“1”,其它为“0”,得出428转换为二进制数为1 1010 1100B。
在教学过程中,我使用这种方法教授学生理解解题思路,并且要求学生熟练2的幂的求值。学生在几次练习后,掌握心算2的幂值,普遍能简化计算过程,直接使用拆分法进行转换,如下:
相比传统的进制转换方法这种计算的方式看似“笨拙”,但是以其直观的方法帮助中职学生掌握二进制数和十进制数之间的转换方法,学生教学效果明显优于使用传统的进制转换法。其次,学生理解计算原理,在熟练计算过程后能够省略冗余的步骤,计算速度明显快于使用“除R求余”法。同时,学生能够举一反三,将这种笨方法用于其他进制(八进制与十六进制)和十进制之间的转换计算。此外,学生理解、掌握一种计算方式后,再重新学习另外一种(传统进制转换法)显得更容易理解、吃透方法。相比传统的进制转换方法,这种方法的不足之处是,当十进制数出现小数位时它便显得捉襟见肘。
邓小平说过:“不管白猫黑猫,会捉老鼠的就是好猫。”我教授学生使用的进制转换方法虽然“笨拙”,但是能够有效解决中职生在进制转换上的困难,提高学生学习信心,激发学生学习动力,提高教学效果。在计算机专业教学中,我认为能有效解决问题的方法就是好方法,教学上要不拘一格,尝试多种教学方法,不仅能教导学生也能提升自己,做到教学相长。
参考文献
[1] 陈民, 吴婷. 计算机应用基础练习册[M]. 江苏教育出版社, 2010.