前言:
以前写c++的时候,进制转换的时候基本就是对进制求余,然后把余数倒着输出就OK了,但是到了java之后,一切都省去了,直接调函数,不仅方便,而且效率不低。
话不多说,上代码:
public class 进制转换 {
public static void main(String[] args) {
int a=11;
String s="11";
//当然不仅仅是Integer Long也可以
//多进制转化为10进制
for(int i=2;i<20;i++)
System.out.println(Integer.valueOf(s, i)+" "+Integer.parseInt(s, i));
//两种方式都可以
System.out.println();
//10进制转化为多进制
for(int i=2;i<20;i++)
{
System.out.println(Integer.toString(a, i));
}
//比较特殊的2 8 16进制有特别的函数
System.out.println(Integer.toHexString(a));//将10转换为十六进制,返回字符串类型
System.out.println(Integer.toOctalString(a));//将10转为八进制,返回字符串类类型
System.out.println(Integer.toBinaryString(a));//将10转为二进制,返回字符串类型
}
}
输出结果:
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 10
11 11
12 12
13 13
14 14
15 15
16 16
17 17
18 18
19 19
20 20
1011
102
23
21
15
14
13
12
11
10
b
b
b
b
b
b
b
b
b
13
1011