摘要:计算机的本质就是处理各类信息,包括符号、文字、数值、图形、图像和声音等等,但这些信息在计算机内部都必须经过数字化后才能被存储。而计算机中数的存储和运算都是用二进制数来表示的,我们日常生活中使用的数都是十进制数,如何将十进制数转换为二进制数就显得非常重要,对学习计算机能起到事半功倍的效果。
关键词:十进制数二进制数转换对位记数
计算机最早是做为一种计算工具出现的,所以它最基本的功能是对数进行加工和处理。数在机器中是以器件的物理状态来表示的,一个具有两种不同的稳定状态且能相互转换的器件,就可以用来表示一位二进制数。二进制数有表示简单而且可靠、存储方便、运算规则简单等特点。掌握数制之间的相互转换对了解计算机的内部结构、工作原理、工作过程起着至关重要的作用。
一、传统的转换方法(除2取余法)
传统的十进制数转换为二进制数是以十进制数作为被除数,反复除以2,除第一次外,每次被除数为前一次商的整数部分,记下每次的余数,直到商为0为止。将所得余数逆序读数,就是转换后的二进制数。
其缺点是:当十进制数较大,则需要反复除2,效率不高,计算步骤繁多,工作量大,还有高位和低位区别,学生写成二进制时容易出错。
例:将十进制数67和71分别转换成二进制数。
二、对位记数法
本文介绍的对位记数法不需要进行多次除2,也不需要记住低位与高位、被除数、除数、商数、余数之类。
算法的基本思想是:任意一个十进制数都可以唯一地分解为:k×2n+k×2n-1+k×2n-2+…k×21+k×20(k=0或1,n为正整数且尽可能大),转换成二进制数的值就是将对应位置上的k值记下来就可以了。
例1:将十进制数67转换成二进制数。
67=64+2+1(步骤1)
=26+21+20(步骤2)
=1×26+0×25+0×24+0×23+0×22+1×21+1×20(步骤3)
所以(67)10=(1000011)2
在熟练之后就可以省略步骤(3),在2n这个位置(n=0,1,2,…)上,凡是有数的记1,没有数的记0就
可以了。例1即在第0、1、6位记1,其他位置记0。数学二进制的算法
第6位第5位第4位第3位第2位第1位第0位
26252423 222120
10000 11
下例具体说明:
例2:将十进制数138转换成二进制数。
(138)10=128+8+2
=27+23+21
=(10001010)2
2726252423222120
1 0 0 01 0 10
要将一个十进制数快速地分解为多个2k之和,应对2k(k =0,1,2,3,…)有一个基本了解,只要有初中数学水平的学生就能掌握。现列出部分2k如下:
20=124=1628=256212=4096
21=225=3229=512……
22=426=32210=1024
23=827=128 211=2048
三、补充说明
对于较大的数可用逐步分解的方法完成。
例3:将十进制数3563转换成二进制数。
(3563)10=2048+1155步骤(1)
因为3563介于2048和4096之间,所以只能选择2048;
1155=1024+131 步骤(2)
因为1155介于1024和2048之间,所以只能选择1024;
131=128+3 步骤(3)
因为131介于128和256之间,所以只能选择128;
3=2+1 步骤(4)
因为3介于2和4之间,所以只能选择2。
通过上述4个步骤完成分解:
(3563)10=2048+1024+128+2+1
=211+210+27+21+20
=(110010000011)2
21121029282726252423222120
11 0 01 0 00 0 01 1
通过上述例子完成对这种新方法的介绍,作者在多年的教学过程中将除2取余法和对位记数法同时向学生讲解,90%以上的学生都乐意接受这种新方法。随机抽20个学生,再随机分为甲乙两组,让他们在30分钟内将15个大小不等的十进制数转换成二进制数,甲组用传统方法,乙组用本文介绍的新方法。结果如下:甲组平均用时25分钟,乙组平均用时15分钟,甲组正确率87%,乙组正确率95%。这充分说明新方法的快速、敏捷、方便、不易出错、易于掌握,值得推广应用。
由于作者的表达水平有限,经验不足,叙述和表达可能有不尽完善之处,请广大读者批评指正。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论