进制转换

一、进制介绍

1、进制就是平时所说的逢几进1,10进制就是逢10进1,2进制就是逢2进1。
2进制数使用(0,1)2个基本符号
8进制数使用(0,1,2,3,4,5,6,7)8个基本符号
10进制数使用(0,1,2,3,4,5,6,7,8,9)10个基本符号
16进制数使用(0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)16个基本符号

 

2、我们平时生活中常见的进制有10进制,7进制、24进制等,而计算机能直接识别处理的只有2进制,无论是数字、文字、声音、图片等都必须先转换成2进制形式后,才能由计算机进行计算、处理、存储和传输。

3、为了方便表达,我们可以将2进制数用B代表,8进制数用O代表,10进制数用D代表,16进制数用H代表。

4、由于2进制数太长,不便于书写、阅读和记忆,所以使用8进制或16进制来等价地表示2进制。

二、2进制与8进制、16进制的对应关系

1、2进制与8进制的对应关系:
0=000 1=001 2=010 3=011 4=100 5=101 6=110 7=111

2、2进制与16进制的对应关系:
0=0000 1=0001 2=0010 3=0011 4=0100 5=0101 6=0110 7=0111
8=1000 9=1001 A=1010 B=1011 C=1100 D=1101 E=1110 F=1111

三、进制间相互转换

1、10进制转换成2进制
10进制数转换成其它进制的方法是“除基取余”,如2进制的基数是2,8进制的基数就是8,小数的算法是乘2取整法:拿小数部分不断乘以2,直到小数为0(有时小数永远不可能为0)或得到所要的精度。
例1:将10进制数55.875转换成2进制数
整数部分:
55/2=27 余1 低位
27/2=13 余1
13/2=6 余1
6/2=3 余0
3/2=1 余1
1/2=0 余1 高位
答案是:(110111)B
小数部分:
0.875*2=1.75 取1
0.75*2=1.5 取1
0.5*2=1 取1
答案:(0.111)B
最终答案:(110111.111)B
例2:将10进制数0.632转换成2进制数
0.632*2=1.264 取1
0.264*2=0.582 取0
0.582*2=1.056 取1
0.056*2=0.112 取0
此例是无穷小数,答案为≈(1010)B

2、2进制转换成10进制
例:将2进数110111. 111转换成10进制
整数部分:
1*25+1*24+0*23+1*22+1*21+1*20
32+16+0+4+2+1=55
小数部分:
1*2-1+1*2-2+1*2-3
0.5+0.25+0.125=0.875
答案:(55.875)D

3、10进制转换成8进制
例:将10进制数685.635转换成8进制数
整数部分:
685/8=85 余5
85/8=10 余5
10/8=1 余2
1/8=0 余1
小数部分:
0.635*8=5.08 取5
0.08*8=0.64 取0
0.64*8=5.12 取5
0.12*8=0.96 取0
答案:≈(1255.5050)O

4、8进制转换成10进制
例:将8进制数1255.5050转换成10进制
整数部分:
1*83+2*82+5*81+5*80
512+128+40+5=685
小数部分:
5*8-1+0*8-2+5*8-3+0*2-4
0.625+0.009765625≈0.635(四舍五入)
答案(685.635)D

5、10进制转换成16进制
例:将10进制数5214.9856转换成16进制
整数部分:
5214/16=325 余E
325/16=20 余5
20/16=1 余4
1/16=0 余1
小数部分:
0.9856*16=15.7696 取F
0.7696*16=12.3136 取C
0.3136*16=5.0176 取5
0.0176*16=0.2816 取0
答案:(145E.FC50)H

6、16进制转换成10进制
例:将16进制数145E.FC50转换成10进制
整数部分:
1*163+4*162+5*161+E*160
4096+1024+80+14=5214
小数部分:
F*16-1+C*16-2+5*16-3+0*16-4
0.9375+0.046875+0.001220703≈0.9856(四舍五入)
答案:(5214.9856)D

7、2进制转换成8进制
2进制转换成8进制的方法是,将整数部分以低位向高位方向,每3位数以等值的8进制数来替换,不足3位的前面补0,小数部分以高位向低位方向,每3位数以等值的8进制来替换,不足3位的后面补0。
例:将2进制数11101110.110111转换成8进制数
整数部分:
从低位到高位,3位1转换
110=6
101=5
011=3
得出答案356
小数部分:
从高位到低位,3位1转换
110=6
111=7
得出答案是67
最终答案(356.67)O

8、8进制转换成2进制
8进制转换成2进制的方法是,将每一位8进制数字替换成等值的3位2进制数即可。
例:将8进制数356.67转换成2进制数
整数部分:
3=011
5=101
6=110
得出答案:11101110
小数部分:
6=110
7=111
得出答案:110111
最终答案(11101110.110111)B

9、2进制转换成16进制
2进制转换成16进制的方法是,将整数部分以低位向高位方向,每4位数以等值的16进制数来替换,不足4位的前面补0,小数部分以高位向低位方向,每4位数以等值的16进制来替换,不足4位的后面补0。
例:将2进制数1010101110.110111转换成16进制
整数部分:
从低位到高位,4位1转换
1110=E
1010=A
0010=2
得出答案:2AE
小数部分:
从高位到低位,4位1转换
1101=D
1100=C
得出答案:DC
最终答案(2AE.DC)H

10、16进制转换成2进制
16进制转换成2进制的方法是,将每一位16进制数字替换成等值的4位2进制数即可。
例:将16进制数2AE.DC转换成2进制数
整数部分:
2=0010
A=1010
E=1110
答案:1010101110
小数部分:
D=1101
C=1100
答案:11011100
最终答案(1010101110.110111)B
后面的2个0就省略了

11、8进制和16进制相互转换
可以先将其转换成2进制,然后再相互转换。

附:关于负次方的算法
2的2次方=4,2的负2次方就是1/4=0.25。
-1 0.5
-2 0.25
-3 0.125
-4 0.0625
-5 0.03125
-6 0.015625
-7 0.0078125
-8 0.00390625
-9 0.001953125
-10 0.000976563

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值