- public static void newTo16(int num)
- {
- //定义一个数组,把十六进制的所有值列出来
- char [] arr={1,2,3,4, 5,6,7,8, 9,'A','B','C', 'D','E','F'};
- //定义一个数组,用于存放得到的十六进制值
- char [] res=new char [8];
- //只要这个数不等于0,就可以进入循环
- int i=res.length; //用于循环
- while(num!=0)
- {
- int temp = num & 15; //得到最低4位的十六进制值
- res[--i]=arr[temp]; //把得到的十六进制数对应的值放入res数组中的最后一位
- num>>>=4; //右移4位
- }
- //遍历输出
- for(int x=i; x<res.length;x++)
- {
- System.out.print(res[x]);
- }
- }
复制代码 这个方法在main中调用了,但是说出的结果很无语啊!我真不知道哪里有问题了~~麻烦帮帮忙找找! |
|