十进制与十六进制互相转换

public class HEXTODE {
//十进制转换为十六进制
	 public static String toHex(int num) {
	       if(num==0){
	            return "0";
	        }
	        String hex=new String("0123456789abcdef");
	        StringBuilder ans=new StringBuilder();
	        while(num!=0 && ans.length()<8){
	            ans.append(hex.charAt(num & 0xf));
	            num>>=4;
	        }
	        return  ans.reverse().toString();
	    }
	 
	 
	 
//十六进制转换为十进制
	 public static int hexToDecimal(String hex)
	 {
	       int decimalValue=0;
	       for(int i=0;i='a'&&hexChar<='f')
	 return 10+hexChar-'a';
	 else
	 return hexChar-'0';//切记不能写成int类型的0,因为字符'0'转换为int时值为48
	 }
	 
	 public static void main(String[] args) {
		        System.out.println(toHex(31));
                System.out.println(hexToDecimal("1f"));
	}
}

 

你可能感兴趣的:(代码)