Преобразование целого числа в двоичное в Java

JavaBeginner
Практиковаться сейчас

Введение

В этом практическом занятии мы узнаем, как преобразовать целое число в двоичный формат на 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().

Каждый метод имеет свои достоинства и недостатки, и вы можете использовать тот, который лучше подходит для ваших целей.