gpt4 book ai didi

java - 有效地将十六进制转换为二进制

转载 作者:行者123 更新时间:2023-11-29 09:49:23 25 4
gpt4 key购买 nike

在下面的程序中,我将十六进制字符串“0123456789ABCDEF”转换为二进制。

public static void main(String[] args) {
// TODO Auto-generated method stub
String key = "0123456789ABCDEF"; //hexadecimal key
char[] keyCharArray = key.toCharArray();
for (int i = 0; i < key.length(); i++) {
System.out.print(HexToBinary((keyCharArray[i]))+",");
}
}

public static String HexToBinary(char Hex) {
int i = Integer.parseInt(Character.toString(Hex), 16);
String Bin = Integer.toBinaryString(i);
return Bin;
}

我得到以下输出

0,1,10,11,100,101,110,111,1000,1001,1010,1011,1100,1101,1110,1111,

但我要求输出如下

0000,0001,0010,0011,0100,0101,0110,0111,1000,1001,1010,1011,1100,1101,1110,1111,

我发现的一种方法是在每个十六进制字符前附加 0x。如下:

0x0, 0x1, 0x2,............,0xE,0xF

另一种方法是手动检查输出中有多少个字符少于 4,并将那些许多 0 附加到它。但是我不知道如何在上面的代码中实现前者。有什么有效的方法可以做我上面想做的事情吗?

最佳答案

String.format("%04d", yournumber);

要清楚:

public static String HexToBinary(char Hex) {
int i = Integer.parseInt(Character.toString(Hex), 16);
return String.format("%04d", Integer.parseInt(Integer.toBinaryString(i)));
}

关于java - 有效地将十六进制转换为二进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12545712/

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