随着计算机技术的的发展,进制之间的转换对于理解计算机的工作原理非常重要,计算机直接识别及应用的数据为二进制数,但人们在生活中常用的为十进制数据,如何转换在计算机中是一个要点。

【关键词】计算机 转换技巧 二进制

1 引言

计算机是一个电子设备,其内部器件采用了很多的电子元件,在这些电子元件中,电器开关的打开和断开、电平的高和低、二极管的导通和截止以及逻辑代数中的真与假,这两种状态技术实现简单以及运算规则简单而且很适合逻辑运算,因此计算机能表示的状态可以采用0和1两个数码来表示数据在计算机内的存储形式以及运算。 但是,对于一些数值利用二进制表示太长了。 因此,好多软件编写过程中用十六进制和八进制来解决此问题。

2 进制的基本概念

在计算机中广泛应用的进制主要有二进制、八进制、十进制以及十六进制,在我们日常的生活中主要的应用还是十进制。十进制: 用符号0,1…8,9 按逢十进一的进位规则,表示数字的方法。 二进制:用0、1两个数字按逢二进一的进位规则来表示数字的方法。 八进制: 用数字0,1…6,7按逢八进一的进位规则来表示数字的方法。 十六进制: 用数字0,1…,8, 9,A…F符号按逢十六进一的规则来表示数字的方法。进制转换是利用对应的特殊符号来计数的办法,里面主要包含很多种数字间的转换。

3 进制转换的常见方法

3.1 十进制与其他进制相互转换的方法

3.1.1 十进制如何转换x进制(x分别代表二、八、十六进制数)

传统方法:“除x逆序取余”法

由于整数和小数的转换方法不同,因此需要先将十进制数的整数和对应的小数分别进行转换,然后再将两部分连接在一起。

十进制整数转换为x进制整数采用“除x取余,直到商为零时为止,逆序排列”法。

十进制小数部分转换成x进制小数部分需采用“乘x取整,直到乘数后的积中小数为零为止,或达到所要求的精度为止,顺序进行排序” 。

技巧方法:因式分解法

(1)十进制转化为二进制,都与基数2的次方数关联,也就是从高位到低位依次为2n、2n-1… 、64、32、16、8、4、2、1,其中1的位数有效,0的位数无效,所以就根据二进制对应的位数按上数对应的数字进行分解相应的因式。

例如:将十进制数303.5转换为二进制数

整数部分:即:(303)D=(100101111)B

小数部分:整数转换較为精确,而小数转换易出现一些循环小数的情况。因此需要进行一些四舍五入的处理以停止循环,一般情况下,小数的转换会稍有误差。

用上例方法得到(0.5)D=(0.1)B 故(303.5)D=(100101111.1)B

(2)十进制在转化八进制时,首先采用因式分解转换成二进制以后在从后面向前面将三位二进制的数合并转换成一位对应的八进制,不足三位时需要填补0凑成三位数字。

例如:(303)10=(100101111)2=(457)8

(3)十进制转化对应的十六进制时,首先进行因式分解转换成二进制后在从后向前将四位二进制数合并转换为一位对应的十六进制数,当不足四位时需要填补0凑成四位数字。

例如:(303)10=(100101111)2=(12F)16

3.1.2 x进制(x分别代表二、八、十六进制数)如何转换十进制

整数部分:将一个x进制整数转换为对应的十进制整数,对应的转换方法是把这个数的最高位乘xn-1,…,x1,最低位乘以x0,然后加到一起就是与之对应的十进制数。

小数部分:把这个小数位的最高位乘上x-1,加上次高位乘上x-2,…,一直加到最后一位乘上x-n,然后加到一起得到的和就是十进制数字。

结果:将要把整数与小数两部分用小点来连接起来。

例如:(10110.101)B=1*24+0*23+1*22 +1*21+0*20+1*2-1+0*2-2+1*2-3

=16+4+2+0.5+0.125=(22.625)D

3.2 二进制与其他进制相互转换的方法

3.2.1 二进制如何转换为八进制

根据81=23式子,得出八进制的一位可拆分为三位二进制。

二进制转换成八进制:因为每三位二进制可以用一位八进制来表示,所以只要把每三位二进制数用八进制表示出来,连接起来就是这个二进制数的八进制数字。

例如:将二进制数1011.10转换成八进制。

(001011.100)2=(1 6.4)8

3.2.2 八进制如何转换为二进制

其中每位八进制可采用三位二进制表示,把每个八进制的数字采用三位二进制表示,就是八进制数对应的二进制数字。

例如:把八进制数364.12转换成二进制。

(3 7 4.12)8=(011111100.001010)2

3.2.3 二进制如何转换为十进制

二进制转换规则是逢二进一,因此进到个位的1就是20,十位上的1,实际上就是21,百位上的1,就是22,同理,小数后面第一位的1就是2-1,以此类推。

例如:(1111.11)2=1*23+1*22+1*21+1*20+ 1*2-1+1*2-2=(15.75)10

3.2.4 十进制如何转换二进制

同前。

3.2.5 二进制如何转换十六进制

由于161=24,从而得出十六进制的一位等于对应二进制的四位,二进制与十六进制之间也可以用对应转换的方法进行转换,类似于二进制与八进制之间的转换。每位十六进制数可以先转换为四位二进制数,要把每四位二进制数用一位十六进制表示,然后连接在一起就是这个二进制数与之对应的十六进制数字。

例如:将101110011.101的二进制数转成对应的十六进制。

(000101110011.1010)2=(173.A)16

3.2.6 十六进制转换二进制

对于十六进制中的每位数字可采用四位二进制来进行转换,从低位到高位,把十六进制数中的每个数字用四位二进制数字来转换即可,也就是十六进制数对应的二进制数码。

例如:把十六进制数A2B.C5转换成二进制。

(A2B.C5)16=(101000101011.11000101)2

4 结束语

进制在计算机技术中应用广泛,计算机能识别的数据只有二进制数,但我们在生活中应用的数据都是十进制数,而且进制之间转换对于计算机工作原理的理解有很大作用,二进制与十进制之间进行转化尤为重要。

参考文献

[1]白中英.计算机组成原理[M].北京:科学技术出版社,2002.

[2]米保全.计算机基础及Office办公软件应用[M].北京:机械工业出版社,2001.

作者简介

米保全,大学本科学历。甘肃机电职业技术学院副教授。研究方向为计算机。

作者单位

甘肃机电职业技术学院 甘肃省天水市 741001

分享: