| class ArrayTest7{
 public static void main(String[] args){
 toHex(60);
 }
 
 // 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------对应数组的角标
 // 因此可以先建立一个表,用数组将这十六个元素存储起来,然后根据num & 15的结果去查表,
 // 这样可以顺利地转换为十六进制,比temp -10 + ‘A’更容易想到
 
 
 public static void toHex(int num){
 char[] chs = new char[]{'0','1','2','3',
 '4','5','6','7',
 '8','9','A','B',
 'C','D','E','F'};
 for(int i = 0 ;i < 8;i ++){
 int temp = num & 15;
 System.out.println(chs[temp]);
 num = num >>> 4;
 }
 }
 }
 |