Tôi muốn chuyển đổi nhị phân của tôi (đó là trong chuỗi) để chuỗi thập lục phân cũng có, đây chỉ là một đoạn chương trình kể từ khi chương trình này chỉ là một phần của một chương trình lớn:Chuyển đổi chuỗi nhị phân để một JAVA chuỗi thập lục phân
//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
vấn đề là tôi không biết nếu các công trình đệm nhưng tôi chắc chắn rằng chương trình này trả về một chuyển đổi hệ thập lục phân sai của chuỗi nhị phân tôi cố gắng để làm điều này:
http://www.wikihow.com/Convert-Binary-to-Hexadecimal
PS: Tôi cần phải thực hiện nó (không sử dụng bất kỳ built-in function)
Lý do bạn thấy không có gì được in là điều kiện vòng lặp của bạn (i == 0) không đúng ở đầu vòng lặp, do đó vòng lặp không bao giờ thực thi. Tuy nhiên, khi bạn khắc phục điều đó, có nhiều thứ khác sai với mã của bạn. –