本帖最后由 帮帮 于 2014-7-8 11:33 编辑
[code]public static void toHex(int num)
{
//存储十六进制字符串,例如0x6QB
StringBuffer sb=new StringBuffer();
//十六进制最大值为0xFFFFFFF,所以x(个数)小于8
for(int x=0;x<8;x++)
{
//把 num 和 15 转换成二进制,然后按位与运算
int temp=num & 15;
//如果大于9就用字母表示
if(temp>9)
//A代表10,temp-10代表大于A的部分,加上个A代表往后的字母在编码表上所代表的数值,再用char转成字符,由append进行拼接十六进制的字符串
sb.append((char)(temp-10+'A'));
else//如果不大于9则按照数字拼接
sb.append(temp);
num= num>>>4;
}
System.out.println(sb.reverse());
}
十六进制的表示规则:它由0-9,A-F组成,字母不区分大小写。与10进制的对应关系是:0-9对应0-9;A-F对应10-15;N进制的数可以用0---(N-1)的数表示超过9的用字母A-Z。
|