一、十进制到其它进制:
例:12345
十进制 --> 十进制(任意进制)
12345/10 = 1234......5
1234/10 = 123......4
123/10 = 12......3
12/10 = 1......2
1/10 = 0......1
结果:12345 --> 除基取余,直到商为0,余数反转
例如:20的十进制转二进制,八进制,十六进制
十进制 --> 二进制
20/2 = 10......0
10/2 = 5......0
5/2 = 2......1
2/2 = 1......0
1/2 = 0......1
结果:00010100
十进制 --> 八进制
20/8 = 2......4
2/8 = 0......2
结果:024 --> 八进制数表示方法:0+八进制数值
十进制 --> 十六进制
20/16 = 1......4
1/16 = 0......1
结果:0x14 --> 八进制数表示方法:0x+十六进制数值
二、任意进制到十进制的转换:
例:12345
十进制(任意进制) --> 十进制
12345 = 1*10^4+2*10^3+3*10^2+4*10^1+5*10^0
= 10000+2000+300+40+5
= 5
系数:每一位上的数字值本身就是系数
基数:x进制的基数就是x
权:从右向左从0开始依次向上+1为每一位数进行编号,这个编号就是权值
结果:每一位上的(系数*基数^权)相加的结果就是十进制数
例如:
0b10101
1*2^4+1*2^2+1*2^0 = 21
0123
1*8^2+2*8^1+3*8^0 = 83
0x3c
3*16^1+12*16^0 = 60
三、x进制到y进制的转换:
x进制 --> 十进制
十进制 --> y进制
例如:(01011001)二进制到八进制、十六进制
二进制转八进制:
第一步:先将二进制转十进制
01011001 = 64+16+8+1
= 89
第二步:再将十进制转八进制
89/8 = 11......1
11/8 = 1......3
1/8 = 0......1
结果:0131
二进制转十六进制:
第一步:先将二进制转十进制
01011001 = 64+16+8+1
= 89
第二步:再将十进制转十六进制
89/16 = 5......9
5/16 = 0......5
结果:0x59