进制转换

1.十进制转为二进制

 1 detoBi(int num)
 2 {
 3     StringBuffer sb = new StringBuffer(); //StringBuffer是一个容器,可以存放数据
 4     while(num>0)
 5     {
 6         sb.append(num%2);     //此对象有个函数append():往容器中添加数据
 7         num = num/2;
 8     }
 9     System.out.println(sb.reverse()); //reverse():把容器中的字符倒序输出
10 }

2.十进制转为十六进制

 1 detoHex(int num)
 2 {
 3     int temp;
 4     StringBuffer sb = new StringBuffer();
 5     while(num != 0)
 6     {
 7         temp = num&15;
 8         if(temp>9)
 9             sb.append((char)(temp-10+'A'));
10         else
11             sb.append(temp);
12         num = num >>> 4;
13     }
14     System.out.println(sb.reverse());
15 }

3.转换通法(查表法)

 1 trans(int num, int base, int offset)
 2 {
 3     int[] arr = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F',};
 4     StringBuffer sb = new StringBuffer();
 5     
 6     while(num != 0)
 7     {
 8         int temp = num & base;
 9         sb.append(arr[temp]);
10         num >>> offset;
11     }
12     
13     System.out.println(sb.reverse());
14 }
原文地址:https://www.cnblogs.com/fantasy01/p/3559143.html