如何在Java中将由二进制数组成的字符串转换为Hexa Decimal no?

时间:2015-10-10 04:38:04

标签: java

我的String010101010111111111101010101010101010111101010101010101010101且尺寸较大(超过64个字符)。

由于大小限制,我无法使用IntegerLong类解析方法。

预期输出为557FEAAAAF55555h

2 个答案:

答案 0 :(得分:1)

使用BigInteger

String s = "010101010111111111101010101010101010111101010101010101010101";
BigInteger value = new BigInteger(s, 2);
System.out.println(value.toString(16));

这表明:

557feaaaaf55555

或者获得确切的输出:

System.out.println(value.toString(16).toUpperCase() + "h");

答案 1 :(得分:0)

   public  String GetHex(String binary){
        String[] parts=binary.split("(?<=\\G.{4})");
        String output="";
        for(String s: parts)
        {
            output+=Integer.toHexString(Integer.parseInt(s, 2));
        }
    }

用二进制字符串调用它

 String binary="010101010111111111101010101010101010111101010101010101010101";
     String hexvalue=GetHex(binary); //557feaaaaf55555