- public static void main(String[] args) {
- int[] arr={9,0xA,0xC};
- int num=0;
- for(int x=0;x<arr.length;x++)//把数组里的各个16进制的数字变为二进制然后向左偏移4位相加 ,一直加到最后一位,变为十进制
- {
- int temp;
- if(x!=arr.length-1)
- {
- temp=arr[x]&15;
- num+=temp;
- num=num<<4;
- }
- else
- {
- temp=arr[x]&15;
- num+=temp;
- }
- }
- System.out.println(Integer.toHexString(num));直接将十进制转换成十六进制, 也可以调用下面自定义的十进制转换十六进制方法
- }
复制代码- public static void trans(int num)
- {
- if(num==0)
- {
- System.out.println(0);
- return;
- }
- //建立一个表 包含了0——F 16个字符
- char[] chs={'0','1','2','3',
- '4','5','6','7','8','9',
- 'A','B','C','D','E','F',};
- //建立一个数组来接收转化后的字符
- char[] arr=new char[32];
- //建立一个指针
- int pos=arr.length;
- while(num!=0)
- {
- int temp=num&15;
- arr[--pos]=chs[temp];
- num=num>>>4;
- }
- for(int x=pos;x<arr.length;x++)
- {
- System.out.print(arr[x]);
- }
- }
复制代码 |