Введение
В этом практическом занятии мы узнаем, как преобразовать целое число в двоичный формат на Java. Существует несколько методов для выполнения этой конвертации, и мы рассмотрим наиболее часто используемые методы.
Использование метода toBinaryString()
Метод toBinaryString() - это самый простой способ преобразования целого числа в двоичную строку. Этот метод является методом класса Integer и возвращает строку после преобразования int в двоичный формат.
public static String toBinaryString(int val)
Здесь val - это значение, которое мы хотим преобразовать в двоичную систему счисления. Этот метод вернет двоичное значение в строковом формате.
public class IntegerToBinaryConverter {
public static void main(String[] args) {
int val = 183;
System.out.println("Value in binary system is: " + Integer.toBinaryString(val));
}
}
Результат: Value in binary system is: 10110111
Использование метода длинного деления
Данный метод полностью математический. Мы объявляем массив целых чисел размером 32 элемента, учитывая 32-разрядное двоичное представление. Каждый раз мы делим число на 2 и сохраняем остаток внутри массива целых чисел. В конце, чтобы получить результат, мы обходим его в обратном порядке.
public class IntegerToBinaryConverter {
public static void main(String[] args) {
int val = 183;
int num[] = new int[32];
int pos = 0;
while (val > 0) {
num[pos++] = val % 2;
val = val / 2;
}
System.out.print("Value in binary system is: ");
for (int i = pos - 1; i >= 0; i--) {
System.out.print(num[i]);
}
}
}
Результат: Value in binary system is: 10110111
Использование битовых операций
С использованием оператора сдвига вправо мы можем уменьшить любое значение в два раза, и поскольку мы работаем на битовом уровне, это очень экономичная операция; и остальные действия аналогичны описанным в предыдущем примере. В конце мы выводим значение, предварительно переворачивая его, которое хранится в объекте StringBuilder, чтобы получить правильный двоичный формат.
public class IntegerToBinaryConverter {
public static void main(String[] args) {
int val = 183;
StringBuilder binary = new StringBuilder(32);
while (val > 0) {
binary.append(val % 2);
val >>= 1;
}
binary.reverse().toString();
System.out.print("Value in binary system is: " + binary.reverse().toString());
}
}
Результат: Value in binary system is: 10110111
Использование метода Integer.toString()
В классе java.lang.Integer есть еще один интересный способ - использовать метод Integer.toString(), который принимает в качестве первого аргумента число, а в качестве второго - основание системы счисления (радикс). Для двоичной системы счисления радикс равен 2, для восьмеричной - 8, для шестнадцатеричной - 16. В нашем случае мы установим радикс равным 2 для двоичной системы счисления.
public class IntegerToBinaryConverter {
public static void main(String[] args) {
int val = 183;
System.out.print("Value in binary system is: " + Integer.toString(val, 2));
}
}
Результат: Value in binary system is: 10110111
Резюме
В этом практическом занятии мы узнали, как преобразовать целое число в двоичную систему счисления на Java с использованием четырех различных методов. Первый метод - это использование встроенного метода toBinaryString(), второй - метод длинного деления, третий - битовые операции, а четвертый - метод Integer.toString().
Каждый метод имеет свои достоинства и недостатки, и вы можете использовать тот, который лучше подходит для ваших целей.



