gpt4 book ai didi

java - 在 Java 中将包含 64 位的二进制字符串转换为十六进制?

转载 作者:行者123 更新时间:2023-11-29 04:33:36 26 4
gpt4 key购买 nike

我正在尝试使用以下代码将这个包含 64 位的二进制字符串转换为十六进制:

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

但它给了我这个异常(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)

出了什么问题,为什么?

最佳答案

改变这个:

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

对此:

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

你还需要这个:

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

关于java - 在 Java 中将包含 64 位的二进制字符串转换为十六进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42708504/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com