进制转换
我们日常使用的数据都是十进制数,但是由于二进制方便表示和计算,稳定且不易受干扰,并且0和1正好可以表示计算机逻辑运算中的真和假两种状态。
各进制都有各自的基数:
二进制(2个):0,1
八进制(8个):0,1,2,3,4,5,6,7
十进制(10个):0,1,2,3,4,5,6,7,8,9
十六进制(16个):0—9,A(10),B(11),C(12),D(13),E(14),F(15)
进制之间的转换:
1、十进制转二进制:除二取余,余数反过来写
例如:134转换成二进制是10000110
2、十进制转换成八进制:与十转二一样,除八取余,余数反过来写
例如:134转换成八进制是206
3、十进制转成十六进制:除十六取余,余数反过来写
例如:223转成十六进制是DF
4、二进制转成十进制:二进制数从右到左数是a,b,c....m
公式为a*20+b*21+c*22+d*23+......m*2(n-1)
例如:11001000=0*20+0*21+0*22+1*23+0*24+0*25+1*26+1*27=8+64+128=200
5、二进制转八进制:把二进制数从右向左每三位作为一组,分别换算成八进制数,不够的在左边补0
例如:11001000
分组: 011 =1*20+1*21+0*22 =3
001 =1*20 +0*21+0*22=1
000 =0*20+0*21+0*22=0
所以,11001000转成八进制就是310
6、二进制转十六进制:把二进制数从右向左每4位作为一组,分别换算成十六进制数,不够的在左边补0
例如:110010000
分组: 0001 =1*20+0*21+0*22+0*23= 1
1001 =1*20+0*21+0*22+1*23= 9
0000 =0*20+0*21+0*22+0*23= 0
所以,110010000转成十六进制就是190
7、八进制转二进制:把八进制每位数从左向右分别换算成二进制数,余数不够的在左边补0
例如:1735
=001 =111 =011 =101
将四组数连起来,1735换成二进制数就是1111011101
8、十六进制转二进制:把十六进制每位数从右向左分别换算成二进制数,余数不够的在左边补0
例如:BD
B==1011 D==1111
BD转成二进制就是10111111
9、八进制转十进制:八进制数从左向右依次是a,b,c......m
公式为:a*80+b*81+c*82+......m*8(n-1)
例如:345=5*80+4*81+3*82=229
10、十六进制转十进制:与八进制转十进制相同
公式为:a*160+b*161+c*162+...m*16(n-1)
例如:ABC=12*160+11*161+10*162=2748