进制与进制转换

来源:百度文库 编辑:神马文学网 时间:2024/03/28 17:42:02
        简单些,就以36+36来说吧:
       “8进制”的“36+36=74”,就是说,个位的“6+6”按“8进制”来算是“个位满8就进1”,也就是说“6+6=14”,而十位的“3+3”再加进上来的“1”,“3+3+1=7”没满“8”不进位,所以结果为“74”。
      “10进制”的“36+36=72”,就是说,个位的“6+6”按“10进制”算是“个位满10就进1”,也就是说“6+6=12”,而十位的“3+3”再加进上来的“1”,“3+3+1=7”没满“10”不进位,所以结果为“72”。
      “16进制”一过10就有“A、B、C、D、E、F”了,“36+36=6B”了。“F”代表“16”,按次序往下降,“A”代表“11”。个位的“6+6=B”,而十位的“3+3=6”,所以结果为“6B”。
      “16进制”中的“5+5”还等于=10。

 

     一.进制概念

1.十进制

十进制使用十个数字(0、1、2、3、4、5、6、7、8、9)记数,基数为10,逢十进一。

历史上第一台电子数字计算机ENIAC是一台十进制机器,其数字以十进制表示,并以十进制形式运算。设计十进制机器比设计二进制机器复杂得多。而自然界具有两种稳定状态的组件普遍存在,如开关的开和关,电路的通和断,电压的高和低等,非常适合表示计算机中的数。设计过程简单,可靠性高。因此,现在改为二进制计算机。

2.二进制

二进制以2为基数,只用0和1两个数字表示数,逢2进一。

二进制与遵循十进制数遵循一样的运算规则,但显得比十进制更简单。例如:

(1)加法:0+0=0 0+1=1 1+0=1 1+1=10

(2)减法:0-0=0 1-1=01-0=1 0-1=1 (在计算机中,负值用1来表示,正值用0来表示)

(3)乘法:0*0=0 0*1=01*0=0 1*1=1

(4)除法:0/1=0 1/1=1,除数不能为0

3.八进制

所谓八进制,就是其基数为8,基数值可以取0、1、2、3、4、5、6、7共8个值,逢八进一。
八进制与十进制运算规则一样。那么为什么要用八进制呢?难道要设计八进制的计算机么?实际上,八进制与十六进制的引用,主要是为了书写和表示方便,因为二进制表示位数比较长。如:(1024)10 用二进制表示为 (10000000000)2,共有11个数字,用八进制表示为(2000)8。更重要的是,由于二进制与八进制存在在一种对等关系,每三位二进制与一位八进制数完全对等(23=8)。所以二进制和十进制在运算上无区别,而十进制不具备这一优点。

4.十六进制

十六进制也是应用非常广泛的一种计数制。在使用者看来,十六进制是二进制数的一种更加紧凑的一种表示方法。
其基数为:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,逢十六进一。在十六进制系统中,数值为11到16的数分别用A、B、C、D、E、F表示。

 

      二.进制转换

1.二进制与十进制数间的转换

(1)二进制转换为十进制

将每个二进制数按权展开后求和即可。请看例题:

把二进制数(101.101)2=1*22+0*21+1*20+1*2-1+0*2-2+1*2-3=(5.625)10

(2)十进制转换为二进制

一般需要将十进制数的整数部分与小数部分分开处理。

整数部分计算方法:"除2取余"法请看例题:

十进制数(53)10的二进制值为(110101)2

小数部分计算方法:"乘2取整"法,即每一步将十进制小数部分乘以2,所得积的小数点左边的数字(0或1)作为二进制表示法中的数字,第一次乘法所得的整数部分为最高位。请看例题:

将(0.5125)10转换成二进制。(0.5125)10=(0.101)2

2. 八进制、十六进制与十进制间的转换

八进制、十六进制与十进制之间的转换方法与二进制同十进制之间的转换方法类似。例如:

(73)8=7*81+3=(59)10

(0.56)8=5*8-1+6*8-2=(0.71875)10

(12A)16=1*162+2*161+A*160=(298)10

(0.3C8)16=3*16-1+12*16-2+8*16-3=(0.142578125)10

十进制整数→→→→→八进制方法:“除8取余”

十进制整数→→→→→十六进制方法:“除16取余” 例如:

(171)10=(253)8

(2653)10=(A5D)16

十进制小数→→→→→八进制小数 方法:“乘8取整”

十进制小数→→→→→十六进制小数方法:“乘16取整”例如:

(0。71875)10=(0.56)8

(0.142578125)10=(0.3C8)16

3.非十进制数之间的转换

(1)二进制数与八进制数之间的转换

转换方法是:以小数点为界,分别向左右每三位二进制数合成一位八进制数,或每一位八进制数展成三位二进制数,不足三位者补0。例如:

(423。45)8=(100 010 011.100 101)2

(1001001.1101)2=(001 001 001.110 100)2=(111.64)8

2。二进制与十六进制转换

转换方法:以小数点为界,分别向左右每四位二进制合成一位十六进制数,或每一位十六进制数展成四位二进制数,不足四位者补0。例如:

(ABCD。EF)16=(1010 1011 1100 1101.1110 1111)2

(101101101001011.01101)2=(0101 1011 0100 1011.0110 1000)2=(5B4B。68)16