Tôi đang cố chuyển đổi số nguyên thành mảng nhị phân Boolean 7 bit. Cho đến nay mã không hoạt động: Nếu tôi nhập số nguyên 8 được chuyển đổi, thay vì 0001000 tôi nhận được 1000000, hoặc nói 15 tôi sẽ nhận được 0001111 nhưng tôi nhận được 1111000. Mảng char có độ dài khác với mảng nhị phân và các vị trí sai.Số nguyên cho mảng nhị phân
public static void main(String[] args){
String maxAmpStr = Integer.toBinaryString(8);
char[] arr = maxAmpStr.toCharArray();
boolean[] binaryarray = new boolean[7];
for (int i=0; i<maxAmpStr.length(); i++){
if (arr[i] == '1'){
binaryarray[i] = true;
}
else if (arr[i] == '0'){
binaryarray[i] = false;
}
}
System.out.println(maxAmpStr);
System.out.println(binaryarray[0]);
System.out.println(binaryarray[1]);
System.out.println(binaryarray[2]);
System.out.println(binaryarray[3]);
System.out.println(binaryarray[4]);
System.out.println(binaryarray[5]);
System.out.println(binaryarray[6]);
}
Mọi trợ giúp đều được đánh giá cao.
Bài tập về nhà phải không? Sử dụng phân chia và phần còn lại theo 2. – kan
Bạn đã thử đi qua mã của mình, bằng tay hoặc bằng trình gỡ rối? Không nên là một thách thức nếu bạn sử dụng '8' làm đầu vào, và sẽ cho bạn biết kết quả của bạn bắt đầu đi lệch từ đâu. –