Я написал простой метод в Java для преобразования десятичного числа в его 8-битное двоичное представление.Тем не менее, для определенных чисел он возвращает 7 бит вместо 8 бит, а для других чисел он работает отлично.
Я пытался выяснить это уже 2 часа и провёл свое исследование на этом сайте безрезультатно.Любая помощь очень ценится.Спасибо!
public static void convertBinary(int n) {
int[] arr = new int[8]; //initialized to hold 8 bit places
int counter = 0;
String binary = "";
while(n > 0) {
arr[counter] = n % 2;
n /= 2;
counter++;
}
for(int i = counter; i >= 0; i--) {
binary = "" + arr[i];
System.out.print(binary);
}
}
Когда я вызываю convertBinary (125), я получаю 01111101, который является правильным 8-битным представлением.
Однако, когда я вызываю его как convertBinary (32), я получаю 0100000, в котором отсутствует 1 бит.Я хочу получить результат 00100000.
Я думал, что инициализация массива 8 размеров поможет с заполнением нуля спереди, но по какой-то причине это не работает.Я нахожусь в конце моего ума здесь и снова, любая помощь очень ценится.Спасибо!