第二节 数字化信息编码与数据表示

§1-2-2 不同进制之间的转换

r进制与十进制
   
式    
    本身就提供了将r进制数转换为十进制数的方法。 比如, 把二进制数转换为相应的十进制数,只要将二进制中出现1的数位权相加即可。
例1:把二进制数11010转换成相应的十进制数。
         (11010)B=1*24+1*23+0*22+1*221+0*20=(26)D
例2:把二进制数100110.101转换成相应的十进制数。
         (100110.101)B=1*25+1*22+1*21+1*2-1+1*2-3=(38.625)D
十进制与r进制
 
整数部分和小数部分的转换方法是不同的,下面分别加以介绍。
1)整数部分的转换
    把一个十进制的整数不断除以所需要的基数r,取其余数(除r取余法),就能够转换成以r为基数的数,例如,为了把十进制的数转换成相应的二进制数,只要把十进制数不断除以2,并记下每次所得余数(余数总是1或0),所有余数连起来即为相应的二进制数。这种方法称为除2取余法。
例如:把十进制数25转换成二进制数,如右所示。

所以(25)D=(11001)B
注意:第一位余数是低位,最后一位余数是高位。
2)小数部分转换
要将一个十进制小数转换成r进制小数时,可以将十进制小数不断地乘以r,并取整,这称为乘r取整法。
例如:将十进制数0.3125转换成相应的二进制数。


所以,(0.3125)D=(0.0101)B
如果十进制数包含整数和小数两部分, 则必须将十进制小数点两边的整数和小数部分分开,分别完成相应转换,然后,再把r进制整数和小数部分组合在一起。
例如:将十进制数193.12转换成八进制数。

所以(193.12)D=(301.075)O
非十进制数间的转换
    通常两个非十进制数之间的转换方法是采用上述两种方法的组合, 即先将被转换数转换为相应的十进制数,然后再将十进制数转换为其他进制数。 由于二进制、八进制和十六进制之间存在特殊关系,即(p7页 等式),因此转换方法就比较容易,如表1.2.2所示。
根据这种对应关系,二进制转换到八进制十分简单。 只要将二进制数丛小数点开始,整数从右向左3位一组,小数部分从左向右3位一组, 最后不足3位补零, 然后根据表1.2.2即可完成转换。例如:将二进制数(10100101.01011101)B转换成八进制数。
        010'100'101.010'111'010
        245.272
所以(10100101.1011101)B=(245.72)O
将八进制同十六进制的过程正好相反。
二进制同十六进制的转换如同八进制同二进制之间一样,只是4位一组。
例如:将二进制(1111111000111.100101011)B转换成十六进制数。
        0001'1111'1100'0111.1001'0101'1000
        1FC7.958
所以(1111111000111.1001011000)B=(1FC7.958)H

表1.2.2 二进制、八进制和十六进制之间的关系

二进制

八进制

二进制

十进制

二进制

十六进制

000

0

0000

0

1000

8

001

1

0001

1

1001

9

010

2

0010

2

1010

A

011

3

0011

3

1011

B

100

4

0100

4

1100

C

101

5

0101

5

1101

D

110

6

0110

6

1110

E

111

7

0111

7

1111

F


7上一页 1 2 3 4 下一页8