进制转换及其在程序设计中的应用 教学优秀论文
由于计算机就其本身来说是一个电器设备,为了能够快速存储、处理、传递信息,其内部采用了大量的电子元件,在这些电子元件中,电路的通和断、电压高低,这两种状态最容易实现,也最稳定、也最容易实现对电路本身的控制。我们将计算机所能表示这样的状态,用0,1来表示,由于二进制运算简单,电器元件容易实现,所以计算机内部都用二进制编码进行数据的传送、计算。本文简要阐述不同进制之间的转换方法及进制转换在程序设计中的应用。
一、不同进制之间的转换
由于十进制是我们最熟悉的数制,在日常生活和工作中,用得最多的是十进制,所以我们在平常的表达中,经常用十进制数来表达信息,那么十进制和一般进制(如P进制)之间的转换方法如何呢?
1、十进制数转换成P进制数
十进制数转换成P进制数(二、八、十六进制数),通常采用的方法是:除以P反序取余法。
把十进制整数除以P,把余数记下来,再把所得的商除以P,直到商为0为止,把每次所得的余数从最后一位读起,就是十进制整数的P进制表示方法。如:把十进制数69转换成二进制数,方法是:
69÷2=34 ……余数=1
34÷2=17 ……余数=0
17÷2=8 ……余数=1
8÷2=4 ……余数=0
4÷2=2 ……余数=0
2÷2=1 ……余数=0
1÷2=0 ……余数=1
反序取余可得:(69)10=(1000101)2,转换成其它进制,也可按照此方法。
2、P进制整数转换成十进制整数
把一个n位的P进制整数转换成十进制整数,通常采用的方法是:把这个数的最高位乘上Pn-1,加上次高位乘上Pn-2,……,一直加到最后一位乘上P0,其和就是十进制形式。如将五进制数3021转化为十进制数过程如下:
(3021)5=3*53+0*52+2*51+1*50=(386)10
3、 二进制与八进制之间的互换
二进制与八进制之间的转换方法,除可以用类似上面的方法外,由于二进制与八进制之间有对应关系,可以用如下更简便的方法进行转换。
每位八进制位可以用三位二进制位来表示
|
八进制 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|
二进制 |
000 |
001 |
010 |
011 |
100 |
101 |
110 |
111 |
二进制转换成八进制:因为每三位二进制可以用一位八进制来表示,所以只要把每三位二进制数用八进制表示出来,连接起来就是这个二进制数的八进制形式。
例:将二进制数101110010.1011转换成八进制。
我们作如下处理:
101,110,010.101,100
5 6 2 . 5 4
所以(101110010.1011)2=(562.54)8
注意:
(1)整数部分由个位数开始由右向左每三位为一组,不足三位左边补0;
(2)小数部分由十分位数开始由左向右每三位为一组,不足三位右边补0。
八进制转换成二进制:每位八进制可以用三位二进制来表示,因而只要从高位到低位,把八进制的每个数码用三位二进制表示出来,就是八进制数的二进制形式。
例:把八进制数364.12转换成二进制。
364.12
011,110,100.001,010
因此,(364.12)8=(11110100.001010)2
4、二进制与十六进制之间的互换
类似于二进制与八进制之间的转换,二进制与十六进制之间也可以用对应转换的方法进行转换。每位十六进制位可以用四位二进制来表示
|
十六进制 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|
二进制 |
0000 |
0001 |
0010 |
0011 |
0100 |
0101 |
0110 |
0111 |
|
十六进制 |
8 |
9 |
A |
B |
C |
D |
E |
F |
|
二进制 |
1000 |
1001 |
1010 |
1011 |
1100 |
1101 |
1110 |
1111 |





