进制
进制的类型
常用的进制有十进制、八进制、二进制以及十六进制。
十进制
用字母K表示。
特点:第一位不是0,除了表示正负符号外,要以19开头,之后则由09组成。、
八进制
用字母O或Q表示。
特点:以数字0开头,之后由0~7组成。
如:0234、0456
二进制
用字母B表示。
特点:仅仅由0和1组成,是机器码。
如:0110 0011
十六进制
用字母H表示。
特点:以0x或0X开头,之后由09、AF、a~f组成。
如: 0x16、0xff
进制之间的转换
十进制数转换为其他进制数
- 转为二进制数: Integer.toBinaryString(十进制数)
- 转为八进制数: Integer.toOctalString(十进制数)
- 转为十六进制数: Integer.toHexString(十进制数)
- 转为其他进制数: Integer.toString(十进制数,n进制)
int n = 13;//十进制数
System.out.println(n + "的二进制是:" + Integer.toBinaryString(n));//十进制转换为二进制
System.out.println(n + "的八进制是:" + Integer.toOctalString(n));//十进制转换为八进制
System.out.println(n + "的十六进制是:" + Integer.toHexString());//十进制转换为十六进制
System.out.println(n + "的三进制是:" + Integer.toString(n, 3)+"\n");//十进制转换为三进制
其他进制数转为十进制数
- 二进制数转为十进制数:Integer.valueOf(二进制数,2) 或Integer.parseInt(二进制数,2)
- 八进制数转为十进制数: Integer.valueOf(八进制数,8) 或Integer.parseInt(八进制数,8)
- 十六进制数转为十进制数: Integer.valueOf(十六进制数,8) 或Integer.parseInt十六进制数,8)
十六进制转为八进制
new BigInteger(十六进制数,16).toString(8)
String string = new String("abcdef123");//表示十六进制-------------------------------------------------------
int base = 16;
int to = 8;
System.out.println(base+"进制数 "+string+" 转换成"+to+"进制数为:"+new BigInteger(string,base).toString(to));
八进制转为二进制
new BigInteger(八进制数,8).toString(2)
String string2 = new String("123");
int base2=8;
int to2=2;
System.out.println(base2+"进制数 "+string2+" 转换成"+to2+"进制数为:"+new BigInteger(string2,base2).toString(to2));