其他进制与⼗进制互相转化如何计算进制转化
⾸先说个很好记的⼀句话:⼏进制,满⼏进⼀
⽐如⼆进制如何 表⽰3
⼗进制 : 0  1  2  3
⼆进制:  0  1  10  11
那在看看别的进制
⼗进制 : 6  7  8  9
⼋进制:  6  7  10 11
⼗进制 :  8  9  10  11  ...  15  16  17
⼗六进制: 8  9  a    b  ...  f  10  11
这是当数值⽐较⼩时,可能⽐较轻松的做转化,那么当数值⽐较⼤的时候该怎么快速计算呢
⼆进制: 是0,1组成 0b开头表⽰⼆进制
//先看两个例⼦,⼆进制转⼗进制
System.out.println(0b10);  //0 * 2^0 + 1*2^1=2
System.out.println(0B0110);  //  0 * 2^0 + 1*2^1 + 1*2^2+ 0*2^3 =6
/*
第⼀个:个位数上为"0",0 * 2^0=0 ; ⼗位数上为"1"  1*2^1=2  得出结果为2
第⼆个:个位数上为"0",0 * 2^0=0 ; ⼗位数上为"1"  1*2^1=2 百位数上为:"1"  1*2^2
千位数上为:"0"  0*2^3  它们相加得出结果和为6.
*/
我们可以⽤到这句公式:
从右往左计算;每⼀位数的值*进制数(次⽅从开始,以此加1) 结果就是⼗进制的值
其他进制转化为⼗进制也⼀样可以⽤这个公式.
⼋进制: 是0…7之间的数组成以0开头的数表⽰⼋进制
System.out.println(0110);  // 0 * 8^0 + 1*8^1+1*8^2 =  72
⼗六进制: 由0-9 ,a-f(⼤⼩写都可以)之间组成以ox开头表⽰⼗六进制
System.out.println(0X15);  // 5* 16^0 + 1* 16^1 = 21
那么⼗进制的数如何转化为其他进制的数呢
进制的数⼀致除以要转的进制数 求余数,从下往上看
例:10转为⼆进制  10/2 =5 (没有余数记0)  5/2= 2 余1(有余数记1)  2/2=1(没有余数记0) 剩下⼀个1不能除了
那么从下往上看的出来的数为:1010
进制数转换公式126转为⼋进制  126/8 =15 (有余数记6)  15/8= 1 余7(有余数记7)  剩下⼀个1不能除了记1
那么从下往上看的出来的数为:176
526转为⼗六进制  300/16 =18 (有余数记12) 18/16= 1 (有余数记2)  剩下⼀个1不能除了记1
那么从下往上看的出来的数为:12c
以上就是进制转化的简单计算⽅法,希望对⼤家有点帮助