下面的例子是16进制串转换成3进制串输出。
其他进制之间的相互转换,只需改动一下下面代码中有注释的地方。
import java.util.Scanner; public class jinzhizhuanhuan { private static int getRealValue(char x) { if(x>=‘0‘ && x<=‘9‘) return x-‘0‘; if(x>=‘a‘ && x<=‘f‘) return x-‘a‘+10; if(x>=‘A‘ && x<=‘F‘) return x-‘A‘+10; return 0; } public static String jin_zhi_16_3(String x) { int n = 0; // 累加真值 for(int i=0; i<x.length(); i++) { n = 16*n + getRealValue(x.charAt(i)); // } String t = ""; for(;;) { if(n==0) break; t = (n % 3) + t; // n = n / 3; // } return t; } public static void main(String[] args) { String x = ""; Scanner input = new Scanner(System.in); while(input.hasNext()){ x = input.next(); String t = jin_zhi_16_3(x); System.out.println(t); } } }
原文:http://blog.csdn.net/u010127250/article/details/21103901