Java十六进制与十进制互转

项目过程中,总是要用到十进制与十六进制相互转换的方法,今天来总结记录一下。

十进制整数转十六进制

        int i = -50;  //int是4个字节,32位,取值范围为: -2^31——2^31-1
		String r;
		r = Integer.toHexString(i);
		System.out.println(r);

正数转换后正常,负数转换完为8位

十进制转十六进制:ffffffce

十六进制转十进制整数

    String s = "ffce";
    //确定是正数的转换
    int r1 = Integer.parseInt(s,16);
    System.out.println("最普通的Integer.parseInt:"+r1);
    //2字节16进制数,解析时用shortValue,第一位为f则为负数
    int r2 = Integer.valueOf(s,16).shortValue();
    System.out.println("2字节能解析出负数:"+r2);
    //4字节16进制数,解析时用BigInteger,第一位为f则为负数
    BigInteger bi = new BigInteger(s,16);
    int r3 = bi.intValue();
    System.out.println("4字节能解析出负数:"+r3);

结果如下:

最普通的Integer.parseInt࿱

你可能感兴趣的:(Java,进制转换)