在Java实现十进制转十六进制编码转换
public class CodeTest
{
public static void main(String args)
{
char c = {''0'',''1'',''2'',''3'',''4'',''5'',''6'',''7'',''8'',''9'',''A'',''B'',''C'',''D'',''E'',''F''};
byte b = (byte)Integer.parseInt(args[0]);
//b在位移时会先自动转换成int后再位移,这是取出高四位
System.out.print(c[(b>>4) & 0x0f]);
System.out.println(c[b & 0x0f]);//取出低4位
}
}
比如输入的是150
b=二进制的 10010110
移位时自动转换为int型 11111111 11111111 11111111 10010110
位移四位取高位 11111111 11111111 11111111 11111001
与0x0f 00001111
就得到高4位 1001