//十进制转换成其它进制的通用写法(查表法) class Transform { public static void main(String[] args) { toHex3(60); System.out.println(); toOctal2(20); System.out.println(); toBinary2(6); } public static void toAny(int num,int base,int offSet) { char[] ch={‘0‘,‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘6‘,‘7‘,‘8‘,‘9‘,‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘}; char[] arr = new char[32]; int index = arr.length; while(num!=0) { int n = num&base; arr[--index] = ch[n]; num = num>>>offSet; } for(;index<arr.length;index++) { System.out.print(arr[index]); } } public static void toHex3(int num) { //十进制转换为16进制的表现显示 toAny(num,15,4); } public static void toOctal2(int num) { //十进制转换为8进制的表现显示 toAny(num,7,3); } public static void toBinary2(int num) { //十进制转换为2进制的表现显示 toAny(num,1,1); } }
原文地址:http://reversetime.blog.51cto.com/6289526/1608153