Dans le programme suivant, je suis en train de convertir une chaîne hexadécimale "ABCDEF" en binaire.convertir efficacement hexadécimal en binaire
public static void main(String[] args) {
// TODO Auto-generated method stub
String key = "ABCDEF"; //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;
}
Je reçois la sortie suivante
0,1,10,11,100,101,110,111,1000,1001,1010,1011,1100,1101,1110,1111,
mais j'exiger que la sortie soit comme suit
0000,0001,0010,0011,0100,0101,0110,0111,1000,1001,1010,1011,1100,1101,1110,1111,
d'une façon que je trouve est annexant 0x
en face de chaque caractère hexagonal . comme suit:
0x0, 0x1, 0x2,............,0xE,0xF
une autre façon est de vérifier manuellement le nombre de caractères de la sortie est courte de 4, et append ces nombreux l » 0
à lui. Mais je ne sais pas comment implémenter le premier dans le code ci-dessus. Existe-t-il une méthode efficace pour faire ce que j'essaye de faire ci-dessus?
+1 Bien! Pas besoin de compliquer les choses – gtgaxiola
Merci, les deux réponses sont correctes selon mes exigences, mais je préfère aller pour l'efficacité, merci :) – md1hunox