十进制转换为2、8、16进制数,代码如下:
public class trans {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
transfunction(60, 2);
transfunction(60, 8);
transfunction(60, 16);
}
// 用查表发讲十进制转换为 2、8、16进制数
public static void transfunction(int num, int base) {
// 定义十六进制的表
char[] chb = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A',
'B', 'C', 'D', 'E', 'F' };
// 定义一个容器
char[] chs = new char[32];
// 定义指针,用于指示容器中的位置
int p = 0;
while (num != 0) {
int temp = num & (base - 1);
chs[p++] = chb[temp];
if (base == 2) {
num = num >>> 1;
}
if (base == 8) {
num = num >>> 3;
}
if (base == 16) {
num = num >>> 4;
}
}
for (int i = p - 1; i >= 0; i--) {
System.out.print(chs[i]);
}
System.out.println();
}
}