进制转换(十进制->二进制、八进制、十六进制)

问题描述:通用进制转换方法抽取

代码如下:

public class Tansform {
	public static void main(String[] args) {
		trans(100, 4, 15);	//转16进制
		trans(16, 3, 7);	//转8进制
		trans(16, 1, 1); 	//转2进制
	}
	
	/**
	 * 十进制转换
	 * @param num	要转的数字
	 * @param offset	二进制对应目标进制的位数
	 * @param base	offset个二进制数全为1时的值
	 */
	public static void trans(int num,int offset,int base){
		char[] ch = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
		char[] result = new char[32];
		int i = 0;
		while(num != 0){
			int temp = num & base;
			result[i++] = ch[temp];
			num = num>>>offset;
		}
		for (int j = i-1; j >= 0; j--) {
			System.out.print(result[j]);
		}
		System.out.println();
	}
}

原文地址:https://www.cnblogs.com/zhangguixing/p/10858134.html