1 public class Day043
2 {
3 // 查表法进制转换
4 public static void main(String[] args)
5 {
6 System.out.print(getChange(16, 8));
7 }
8 // 定义数组
9 static char[] arr = new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8',
10 '9', 'A', 'B', 'C', 'D', 'E', 'F'};
11 // X,需要转化的数据;Y,转化成的进制,包括2进制,8进制,16进制;
12 static String getChange(int x, int y)
13 {
14 StringBuffer sb = new StringBuffer();
15 int temp;
16 int i = 0;
17 int j = y;
18 if (x == 0)
19 return sb.append('0').toString();
20 while (j / 2 != 0)
21 {
22 i++;
23 j = j / 2;
24 }
25 while (x != 0)
26 {
27 temp = x & (y - 1);
28 sb.append(arr[temp]);
29 x = x >>> i;
30 }
31 return sb.reverse().toString();
32 }
33 }