实现口诀:累除取整到最小。求余串连新进制。
public class Main { public static void main(String[] args) { int scale = 2;//多少进制 String result = "";//转换后的数 int t1 = 1234;//待转换数 int temp = 0;//临时参数 while(t1 != 0){ temp = t1%scale; t1 /= scale; result= temp+result;//倒连 } System.out.println(result); } }
任意数据类型任意进制转换任意进制
public class Main { //设置字符数组 //可以添加任意不重复字符,提高能转换的进制的上限 static char chs[] = new char[36]; static { for(int i = 0; i < 10 ; i++) { chs[i] = (char)('0' + i); } for(int i = 10; i < chs.length; i++) { chs[i] = (char)('A' + (i - 10)); } } static String transRadix(String num, int fromRadix, int toRadix) { int number = Integer.valueOf(num, fromRadix); StringBuilder sb = new StringBuilder(); while (number != 0) { sb.append(chs[number%toRadix]); number = number / toRadix; } return sb.reverse().toString(); } //测试 public static void main(String[] args) { System.out.println(transRadix("1234", 10, 2)); } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)