任意进制到十进制的转换原理:
* 系数:就是每一位上的数据。 * 基数:X进制,基数就是X。 * 权:在右边,从0开始编号,对应位上的编号即为该位的权。 * 结果:把系数*基数的权次幂相加即可。例:
十进制到十进制:
12345 = 10000 + 2000 + 300 + 40 + 5
= 1*10^4 + 2*10^3 + 3*10^2 + 4*10^1 + 5*10^0
二进制转十进制:(0b是jdk1.7版本中表示二进制的写法,所以忽略0b)
0b100 = 1*2^2 + 0*2^1 + 0*2^0 = 4
八进制转十进制:(开头的0忽略)
0100 = 1*8^2 + 0*8^1 + 0*8^0 = 64
十六进制转十进制:(开头的0x一样的道理,也忽略)
0x100 = 1*16^2 + 0*16^1 + 0*16^0 = 256
十进制到任意进制的转换原理:
* 除积倒取余
例:
十进制转换成十进制(任意进制):
12345/10 = 1234余5
1234/10 = 123余4
123/10 = 12余3
12/10 = 1余2
1/10 = 0余1
十进制转换成二进制:60=11110
60/2 = 30余0
30/2 = 15余0
15/2 = 7余1
7/2 = 3余1
3/2 = 1余1
1/2 = 0余1
十进制转换成八进制:60=74
60/8 = 7余4
7/8 = 0余7
十进制转换成十六进制:60=3c
60/16 = 3 余12 写成c(十六进制中没有12这个数字,a表示10,b表示11,所以12用c代替)
3/16 = 0余3