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 }