Sivar
Sivar

Reputation: 15

convert a binary String containing 64bits to hexadecimal in java?

I'm trying to convert this binary String that contains 64bits to Hexadecimal with this code:

String mm = "1000010111101000000100110101010000001111000010101011010000000101";
String v = new BigInteger(mm, 2).toString(16);
v=String.format("%64x", v);

but it gives me this exception:

Exception in thread "main" java.util.IllegalFormatConversionException: x != java.lang.String
    at java.util.Formatter$FormatSpecifier.failConversion(Unknown Source)
    at java.util.Formatter$FormatSpecifier.printInteger(Unknown Source)
    at java.util.Formatter$FormatSpecifier.print(Unknown Source)
    at java.util.Formatter.format(Unknown Source)
    at java.util.Formatter.format(Unknown Source)
    at java.lang.String.format(Unknown Source)
    at test.main(test.java:332)

what is getting wrong and why?

Upvotes: 1

Views: 154

Answers (1)

Ousmane D.
Ousmane D.

Reputation: 56423

change this:

v=String.format("%64x", v);

to this:

v=String.format("%s", v);

Also you need this:

String v = new BigInteger(mm, 2).toString(16);

Upvotes: 3

Related Questions