Umwandlung eines Binärstrings in einen Hexadezimalstring JAVA
Ich möchte meine Binärdatei (die sich in einer Zeichenfolge befindet) auch in eine hexadezimale Zeichenfolge konvertieren. Dies ist nur ein Programmfragment, da dieses Programm nur ein Teil eines anderen größeren Programms ist:
//the variable name of the binary string is: "binary"
int digitNumber = 1;
int sum = 0;
int test = binary.length()%4;
if(test!=0) {
binary = padLeft(binary, test);
}
for(int i = 0; i < binary.length(); i++){
if(digitNumber == 1)
sum+=Integer.parseInt(binary.charAt(i) + "")*8;
else if(digitNumber == 2)
sum+=Integer.parseInt(binary.charAt(i) + "")*4;
else if(digitNumber == 3)
sum+=Integer.parseInt(binary.charAt(i) + "")*2;
else if(digitNumber == 4 || i < binary.length()+1){
sum+=Integer.parseInt(binary.charAt(i) + "")*1;
digitNumber = 0;
if(sum < 10)
System.out.print(sum);
else if(sum == 10)
System.out.print("A");
else if(sum == 11)
System.out.print("B");
else if(sum == 12)
System.out.print("C");
else if(sum == 13)
System.out.print("D");
else if(sum == 14)
System.out.print("E");
else if(sum == 15)
System.out.print("F");
sum=0;
}
digitNumber++;
}
public static String padLeft(String s, int n) {
return String.format("%0$"+n+"s", s);
}//i added this for padding
das Problem ist, dass ich nicht weiß, ob das Auffüllen funktioniert, aber ich bin sicher, dass dieses Programm eine falsche hexadezimale Konvertierung der Binärzeichenfolge zurückgibt, die ich versuche, dies zu tun:
http: //www.wikihow.com/Convert-Binary-to-Hexadecima
PS: Ich muss es implementieren (keine eingebaute Funktion verwenden)