//查表法
public class ArrayTest6 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
toHex(6);
}
/*
* 0 1 2 3 4 5 6 7 8 9 A B C D E F ===十六进制中的元素
* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
* 查表法:
* 将所有的元素临时储存起来,建立对应关系
* 每一次&15 后 的值作为索引去查找建立好的表 就可以找到对应的元素
* 这样比 -10 + 'A' 简单的多
*
* 这个表怎么建议呢?
* 可以通过数组的形式来定义
* 发现终于出结果 但是反着的 想要正过来呢?可以通过StringBuffer reserve() 功能来实现
* 但还未学习
* */
public static void toHex(int num)
{
char[] chs = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
//定义一个数组临时容器
char[] arr = new char[8];
for(int x=0;x<8;x++)
{
int temp = num & 15;
System.out.println(chs[temp]);
arr[x] = chs[temp];
num = num >>>4;
}
//存储数据的arr数组进行遍历
for(int x=arr.length-1;x>=0;x--)
{
System.out.print(arr[x]+",");
}
}
}