Введение
В этом практическом занятии мы узнаем, как преобразовать целое число в двоичный формат на Java. Существует несколько методов для выполнения этой конвертации, и мы рассмотрим наиболее часто используемые методы.
💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал
В этом практическом занятии мы узнаем, как преобразовать целое число в двоичный формат на Java. Существует несколько методов для выполнения этой конвертации, и мы рассмотрим наиболее часто используемые методы.
Метод 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
В классе 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()
.
Каждый метод имеет свои достоинства и недостатки, и вы можете использовать тот, который лучше подходит для ваших целей.