APP下载

问题启发课堂思维,探究提升信息素养

2015-02-06陈朝晖

中国信息技术教育 2015年2期
关键词:基数二进制整数

陈朝晖

● 问题启发:冯·诺依曼为何选择二进制

1.信息表达

计算机是机器,在当时背景下,用机器表达信息的局限性决定了使用二进制更加方便。书本从电流、电压等方面做了解释(如电位中高电位为1,低电位为0;线路中线路开通为1,闭合为0等)。

2.运算处理

计算机(ENIAC)研发的初衷是计算,机器在做计算时选择不同进制,将直接导致运算难度差异。下面我们通过比较1位数值A和数值B做加法运算,在实现上需考虑的情形。

(1)简单的二进制相加

表1    二进制相加表

从表1我们可以看出:二进制数值A和数值B做A+B运算,需考虑的情形仅有4种。结合当时条件,毫无疑问用二进制处理数据在机器实现上相对简单。

(2)较复杂的十进制相加

如果使用我们熟悉的十进制(如表2),做A+B运算需考虑的情形总共有100种,机器实现难度可想而知。从中我们可以看出冯·诺依曼选择二进制系统,在当时背景条件下毫无疑问是极其明智的。

表2      十进制相加表

● 科学探究:百花齐放的不同进制

用心去慢慢品味,你会发现我们生活中存在多种进制类型:①星期(星期一、星期二、……、星期七,七进制);②月份(一月、二月、……、十二月,十二进制);③时间(1点、2点、……、24点,二十四进制)。书本中还提到八进制、十六进制。不同进制运用于不同场合,为我们生活带来诸多便利。请学生结合生活中不同进制,并对其做深入探究。

1.基数的探究

基数,即基本数字,在不同进制中,常指数据在某一位置上允许出现的数字个数。下面,我们列举几种不同进制类型,对其基数进行比较。

表3  不同进制类型的基数比较表

进制类型 基本数字 基数

十进制 0、1、2、3、4、5、6、7、8、9 10

七进制 0、1、2、3、4、5、6 7

二进制 0、1 2

2.十六进制中为何有字母

按表3理解,十六进制基本数字应为0、1、……、15。这样似乎很合理,但禁不住推敲。例如,数字10是代表某个具体位置,还是分别代表两个位置上的数字(一个位置为1,另一个位置为0)?很明显,如果十六进制基数这样表述,极易引发位置上的错位、混淆。

怎样解决这个问题?我们可以创建新符号来替代那些易引发混淆的双位数值(如画一个三角形符号代表数字10),用新符号来替代双位数值问题就解决了。人们常常将十六进制基本数字表达成0、1、……、9、A、B、……、F(如双位数值10用大写字母A表示),这种表述简单方便,易达成共识。

3.七进制的困惑(奇妙的0)

前面我们提到星期是七进制,它的基数是1、2、……、7。如果做七进制运算或许你会感到困惑:7+1=( ),3+4=( ),七进制逢7不进位,这让人难以接受,所以将七进制基数定为0、1、……、6将更加合理。

● 科学探究:“位置标记”是进制的核心

要探究不同进制本质,我们先来分析熟悉的十进制,并挖掘其中蕴含的规律——位置标记。

(表中第1行是“位置标记”,第2行是对应位置下的数值)

(52154.23)10=5*104+2*103+1*102+

5*101+4*100+2*10-1+3*10-2……①

1.“位置标记”的便利

在每一个数字上方标记出对应位置,这就是“位置标记”。表4(52154.23)10中有两个数字5,“位置标记”描述了数字5的差异,在位置4下方数字5=5*104,而在位置1下方数字5=5*101。

在进制系统中,“位置标记”是人类数值表达上的一大进步。笔者认为,其他进制也采用了“位置标记”法,这是进制系统的核心,也是不同进制彼此相通之处,是我们掌握进制换算的关键密钥。

2.统一进制,比较大小

(52154.23)8 (1001110.01)2 (5E1.A3)16

要让不同进制进行大小比较,我们必须统一进制。在表4①处,我们利用“位置标记”将(52154.23)10逐位展开。同样通过这种方式,我们可以将八进制转换成十进制:

(52154.23)8=5*84+2*83+1*82+5*81

+4*80+2*8-1+3*8-2=(  )10

现在要将任意R进制转换成十进制,只需要调整基数R即可。为什么转换之后得到的就是十进制数?这是因为在“位置标记”法等式右端,我们的计算处理采用了十进制累加形式,因此不同进制数据都将换算成十进制。

3.4位二进制等同1位十六进制

在课堂教学中,许多教师都会提到,每4位二进制等同1位十六进制及“8421”法则。“知其然,更要知其所以然”,下面我们来揭开其神秘面纱。

请观察②展开式中的基数变化,你会发现二进制已转换成十六进制。

4.“8421”法则的由来

将②括号中的每组数据写成通式为:(x*23+x*22+x*21+x*20)=(x*8+x*4+x*2+x*1)(x值为0或1),4位二进制刚好对应1位十六进制数,这就是“8421”法则的由来。

如果二进制数据带有小数部分,则从小数点位置开始,整数部分向左,小数部分向右,每4位为一组用1位十六进制数表示,不足4位用“0”补足4位,这样就得到1位十六进制数的二进制形态。

为什么打点分组?因为小数部分无论如何转换,都不可能变成整数部分。将“8421”法则直接运用到计算中更加方便。我们将x值为“1”和“8421”对应数字累加,最后结果写成对应的十六进制形态即可。另外,十六进制转换成二进制是其逆运算过程,八进制与二进制转换与此类似。

● 问题启发:任意进制的衍生

前面,我们可以将任意进制统一成十进制并比较大小。相反,如果给定十进制数据,我们怎样得到其他进制?我们先来回顾任意R进制“位置标记”法。

(52719)R=5*R4+2*R3+7*R2+1*R1

+9*R0……③

1.用余数构造基数

不同进制的不同主要是基数不同(八进制有8个基本数字:0、1、……、7)。现在我们来考虑十进制整数除以R可能产生哪些余数?

除以2的余数为:{0、1}

除以8的余数为:{0、1、……、7}

当一个整数除以R时,其余数{0、1、……、R-1}恰好构成R进制的基本数字。

2.十进制转换成任意R进制

观察上面展开式③,你会发现其逆运算过程就是得到任意R进制的方法。

“将十进制的整数部分除以R,得到一个商和余数;再将这个商除以R,又得到一个商和余数;反复执行这个过程,直到商为0结束”,这就是“除以R取余”法。

3.除法为何倒立书写

倒立书写是为了使除法运算不断重复下去,在相除过程中,被除数在不断变小,直至为0。倒立书写为下一次除法预留了书写空间。另外,从直观上考虑,我们不妨将每次相除后得到的余数直接写在商旁边(如图1)。

很明显,现在得到的这组余数就是R进制数据。接下来是排列问题,这组余数是从上往下排列吗?

(1)列反例加以证实

图1中(54)10=(110110)2,当被除数刚好整除时,余数为0,但0是不可以当高位的,这说明书写顺序不可以从上往下。

(2)用十进制检验

进制数据处理彼此相通。当遇到困惑时,不妨回归到我们熟悉的十进制,或许马上就能有答案,如图2。

总之,《二进制与编码》在教学中极易被教师忽视。教师通过问题启发课堂思维,探究提升信息素养的方法,不仅能使课堂趣味横生,也在无形中提升了学生的信息素养。

猜你喜欢

基数二进制整数
一次性伤残就业补助金的工资基数应如何计算?
用二进制解一道高中数学联赛数论题
千万不要乱翻番
有趣的进度
二进制在竞赛题中的应用
巧妙推算星期几
一类整数递推数列的周期性
『基数』和『序数』
一个生成组合的新算法
答案