摘 要:计算机应用中的数制之间的转换是教学中的一个难点和重点,很多教师在教学中往往不知从何下手,导致教学中思路的零乱,即使勉强的授完了知识点,给学生留下的只是杂乱无章的知识,甚至听完了也不明白其中的意思。讲授内容规划和设计成功与否,将直接影响教学效果。
关键词:数据类型;进位制;数制转换
一、计算机处理的数据类型
计算机处理的数据分为数值型和非数值型两类。数值型数据指数学中的代数值,具有量的含义,且有正负之分、整数和小数之分;而非数值型数据是指输入到计算机中的所有信息,没有量的含义,如数字符号0—9、大写字母A—Z或小写字母a—z、汉字、图形、声音及其一切可印刷的符号+、-、!、#、%、》……等。在计算机科学科学中,常用的数制是十进制、二进制、八进制、十六进制四种。人们习惯于采用十进制。计算机采用二进制数,原因是二进制具有方便人们使用逻辑代数、硬件技术实现容易、便于记忆和传输可靠和运算规则简单等优点。所以,在计算机中数的存储、传送以及运算均采用二进制。掌握各种数制之间的转换对计算机学科的学习是很有必要的。
二、常用进位制的表示方法
方法一:把该数用小括号括起来在小括号的右下角标明该进制的基数,如:(123.12)10说明123.12为十进制数。如果用R表示任意进制,可以表示为(……)R-1。
方法二:在该数的后面加上相应的大写字母表示相应的进制。在计算机中常常用到的有二进制、八进制、十进制和十六进制。分别用字母B(Binary)表示二进制(如:10001.11B为二进制数),用字母Q获知O(Octal)表示八进制(如:234.45Q为八进制数),用字母D(Decimal)表示十进制(如:123D为十进制数),用字母H(Hexadecimal)表示十六进制(如:123.12H为十六进制数)。
三、几个概念
数码:一组用来表示某种数制的符号。如:1、2、3、4、A、B、C、Ⅰ、Ⅱ、Ⅲ、Ⅳ等。
基数:数制所使用的数码个数称为“基数”或“基”,常用“R”表示,称R进制。如二进制的数码是:0、1,基为2。
位权:指数码在不同位置上的权值。在进位计数制中,处于不同数位的数码代表的数值不同。
说明:不管是任何数制,只是表示数的方式不同,但数的大小始终不变,它们必然可以相互转换。
四、数制之间的相互转换
二进制、八进制、十进制和十六进制之间的关系如图1
图 1
一)、非十进制(R进制)转换为十进制?
方法:按照位权展开求和(以二进制转化成十进制为例扩展到一般形式,一个R进制数,基数为R,用0,1,……,R-1,共R个数字符号来表示,且逢R进一,因此,各位的权是以R为底的幂)
一般格式:( kn kn–1…k1 k0 . k–1…k–m )R= kn×Rn + kn–1×Rn–1 +…+ k1×R + k0 + k–1×R–1 +…+ k–m×R –m 其中0≤k i < R,i = – m~n。R叫做R进制数的基数,k i叫做该R进制数的第i位,Ri叫做第i位的权。
例如:
1、(1101.01)2=1×23+1×22+0×21+1×20+0×2-1+1×2-2=(13.25)10
2、(154)8=1×82+5×81+4×80=(108)10
3、(1CB)16=1×162+12×161+11×160=(459)10
二)、十进制转换成非十进制(R进制)
方法:将十进制转化为R进制,整数部分,采用除以R取余(余数为0为止),将所取余数逆序排列;小数部分,乘R取整(每一次必须变为纯小数后再做乘法,直至乘积为0,如果是循环小数,则以约定的精度为准,最后将所取的整数按顺序排列即可)。
例如: 把十进制转换成二进制
4、( 23 ) 10=( ? ) 2
2 │ 23
├────
2 │ 11 …… 余1(最低位)
└┬───
2 │ 5 …… 余1
├───
2 │ 2 …… 余1
├───
2 │ 1 …… 余0
└───
0 …… 余1(最高位)
即 ( 23 ) 10= ( 10111 ) 2
5、( 0.87 ) 10=( ? ) 2
0.87
* 2
1.74 …… 整数部分1(最高位)
0.74
* 2
1.48 …… 整数部分1
0.48
* 2
0.96 …… 整数部分0
0.96
* 2
1.92 …… 整数部分1
0.92
* 2
1.84 …… 整数部分1
0.84
* 2
1.68 …… 整数部分1
0.68
* 2
1.36 …… 整数部分1(最低位)
即 (0.87)10=(0.1101111)2
6、求254的8进制数。
所以:254D=367Q
7、把十进制数254转换成十六进制
所以:254D=FEH
三)非十进制与非十进制的相互转换(二进制、八进制、十六进制的相互转换)
因为8=23,所以可以用3位二进制表示1位八进制,同样,16=24,可以用4位二进制来表示1位十六进制。反之亦然。
* 二进制和八(十六)进制的转换
当二进制数有小数部分时,从小数点开始向两侧每3位二进制数转换为1位八进制数,不够3位者可以补0。
例如:把二进制转换成八(十六)进制
8、( 1101011.11001 )2=( ? )8
解: 001 101 011·110 010
↓ ↓ ↓ ↓ ↓
1 5 3 · 6 2
即 ( 1101011.11001 )2=( 153.62 )8
9、( 1101011.11001 )2=( ? )16
解: 0110 1011·1100 1000
↓ ↓ ↓ ↓
6 B · C 8
即 (
1101011.1101 )2=( 6B.C8 )16
* 八(十六)进制和二进制的转换
例如:376.54Q=( )H
10、( 3 7 6 . 5 4)8
(011 111 110. 101 100)2
所以:376.54Q=011111110.101100H
11、C2.A8H=( )B
( C 2 . A 8)16
(1100 0010 . 1010 1000)2
所以:C2.A8H=1100.10101000B
* 八进制与十六进制的相互转换
(方法:以二进制位桥梁先把八进制(十六进制)转换为二进制再转换为十六进制(八进制)即可)
总之:数制及其转换是计算机应用基础教学和学生学习、理解的共同难点。在教学中能够把握把该知识点的内容概括化,层次话,由浅入深的进行讲授,一定会受到良好的教学效果。
参考文献:
[1] 《计算机导论》王玉龙编 计算机学科教学计划 1993 电子工业出版社
[2] 《数字逻辑与数字系统》白中英主编 第二版 科学出版社出版
[3] 《计算机应用基础》何克抗 周南月主编 高等教育出版社