看下面代码:
public class Test4 {
public static void main(String [] args){
int x=60;
StringBuffer sb=new StringBuffer();
for(int i=0;i<8;i++){
int temp=x&15;
if(temp>9)
sb.append((char)(temp-10+'A')+"-");
else if(temp<=9)
sb.append(temp+"-");
x=x>>>4;
}
System.out.println(sb.reverse());
}
}
十进制转化成十六进制转化的过程是已二进制的形式进行运算。看代码一步步解析。
x&15 的用意是 得到二进制的后四位 举例:60 的二进制 0011-1100 15 的二进制 0000-1111 得到的结果 是 0000-1100 等于 c
得到下一个四位 ,应该右移4位 x=x>>>4