Conversion d'un entier Java en binaire

JavaBeginner
Pratiquer maintenant

Introduction

Dans ce laboratoire, nous allons apprendre à convertir un entier en binaire en Java. Il existe plusieurs méthodes pour effectuer cette conversion, et nous allons aborder les méthodes les plus couramment utilisées.

Utilisation de la méthode toBinaryString()

La méthode toBinaryString() est le moyen le plus simple de convertir un entier en chaîne de caractères binaire. Cette méthode est une méthode de la classe Integer qui renvoie une chaîne de caractères après avoir converti l'int en binaire.

public static String toBinaryString(int val)

Ici, val est la valeur à laquelle nous voulons convertir le système numérique binaire. Cette méthode renverra la valeur binaire au format chaîne de caractères.

public class IntegerToBinaryConverter {
    public static void main(String[] args) {
        int val = 183;
        System.out.println("Value in binary system is: " + Integer.toBinaryString(val));
    }
}

Sortie : Value in binary system is: 10110111

Utilisation de la méthode de la division euclidienne

Cette méthode est entièrement mathématique. Nous déclarons un tableau d'entiers de taille 32 en considérant une représentation binaire de 32 bits. Chaque fois que nous divisons un nombre par 2 et stockons le reste dans le tableau d'entiers. En fin de compte, pour obtenir le résultat, nous le parcourons à l'envers.

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]);
        }
    }
}

Sortie : Value in binary system is: 10110111

Utilisation de la manipulation binaire

En utilisant l'opérateur de décalage vers la droite, nous pouvons diviser n'importe quelle valeur par deux, et puisque nous travaillons au niveau des bits, il s'agit d'une opération très peu coûteuse. Le reste des opérations est identique à celle décrite dans l'exemple ci-dessus. Enfin, nous affichons la valeur en inversant celle stockée dans un objet StringBuilder pour obtenir la forme binaire correcte.

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());
    }
}

Sortie : Value in binary system is: 10110111

Utilisation de la méthode Integer.toString()

Il existe un autre moyen intéressant dans la classe java.lang.Integer en utilisant la méthode Integer.toString(), qui accepte le premier argument comme un nombre et le second comme une base (ici, la base est la base du système numérique), qui peut être 2 pour le binaire, 8 pour l'octal, 16 pour l'hexadécimal ; dans notre cas, nous définirons la base sur 2 pour le nombre binaire.

public class IntegerToBinaryConverter {
    public static void main(String[] args) {
        int val = 183;
        System.out.print("Value in binary system is: " + Integer.toString(val, 2));
    }
}

Sortie : Value in binary system is: 10110111

Résumé

Dans ce laboratoire, nous avons appris à convertir un entier en système numérique binaire en Java en utilisant quatre méthodes différentes. La première méthode consiste à utiliser la méthode intégrée toBinaryString(), la deuxième utilise la méthode de la division euclidienne, la troisième utilise la manipulation binaire et la quatrième utilise la méthode Integer.toString().

Chaque méthode a ses avantages et ses inconvénients, et vous pouvez utiliser celle qui convient le mieux selon vos besoins.