第二节 数字化信息编码与数据表示 |
|
§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 |