下面是注释:
class ArrayTest
{
public static void main(String[] args)
{
toTex(60);
}
public static void toTex(int num)
{
for (int x=0;x<8 ;x++ )//一个int32位对应8位的16进制数,这个依据传入的数据类型而变,如果是short就是4
{
int temp = num&15;//数据在计算机中的存储格式均为二进制码,nun&0x0000 000f:取低4位二进制码对应的数据
if(temp>9)//如果大于等于10,那么需要字母‘A’--'F'代替,或者是‘a’-'f'
System.out.println((char)(temp-10+'A')); → 还有这个语句,A为什么要加单引号?这里的‘A’是一个字符常量,如果去掉了,就是个变量名了.10对应的是‘A’,11对应的是‘B’,依次类推
else
System.out.println(temp);
num = num >>>4;//这里右移4位,也就是把num的低4位移掉,相当于除以16,继续算下一个4位二进制码。LZ貌似多了个‘>’.
}
}
} |