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;
}
}
} |