Convertir Int en binaire en Java

Rupam Yadav 12 octobre 2023
  1. Convertir Int en binaire en utilisant Integer.toBinaryString()
  2. Convertir Int en binaire en utilisant Integer.toString()
  3. Convertir Int en binaire en utilisant StringBuilder et une boucle
Convertir Int en binaire en Java

Un Nombre Binaire est représenté par deux chiffres binaires, le 0 et le 1. Nous pouvons convertir une valeur int en une valeur binaire en Java en utilisant les trois méthodes répertoriées ci-dessous.

Convertir Int en binaire en utilisant Integer.toBinaryString()

La manière la plus courante et la plus simple de convertir une valeur int en binaire consiste à utiliser la fonction toBinaryString() de la classe Integer. Integer.toBinaryString() prend un argument de type int.

Dans le programme, on stocke une valeur int dans une variable numInt puis on la passe en argument dans la méthode Integer.toBinaryString() qui renvoie une String.

public class JavaExample {
  public static void main(String[] args) {
    int numInt = 150;
    String binaryString = Integer.toBinaryString(numInt);
    System.out.println(binaryString);
  }
}

Production :

10010110

Convertir Int en binaire en utilisant Integer.toString()

Dans cet exemple, nous utilisons une autre méthode de la méthode de la classe Integer : la méthode toString().

Integer.toString() prend deux arguments dans lesquels le deuxième argument est facultatif. Le premier argument est la valeur à convertir en String, et le deuxième argument est la valeur de base pour la conversion.

Pour notre programme, nous devons utiliser les deux arguments de la fonction toString() pour spécifier la base 2, représentant les chiffres binaires 0 et 1. En termes simples, lorsque nous utilisons la base 2, le int est converti en une valeur String qui représente uniquement les 0 et les 1.

Nous imprimons le résultat qui est une représentation binaire de numInt.

public class JavaExample {
  public static void main(String[] args) {
    int numInt = 200;
    String binaryString = Integer.toString(numInt, 2);
    System.out.println(binaryString);
  }
}

Production :

11001000

Convertir Int en binaire en utilisant StringBuilder et une boucle

Le dernier programme adopte une approche traditionnelle; au lieu d’utiliser une fonction intégrée pour convertir la valeur int en binaire, nous créons notre fonction qui fait le même travail.

Dans le code ci-dessous, nous créons une fonction convertIntToBinary() qui reçoit la valeur int comme paramètre à convertir. Nous définissons le type de retour de la fonction sur String.

Dans la méthode convertIntToBinary(), nous vérifions d’abord si la variable int numInt contient un zéro ou non. Si c’est le cas, nous renvoyons 0 car la représentation binaire de 0 dans int est aussi 0. S’il s’agit d’une valeur entière non nulle, nous créons une classe StringBuilder et une boucle while.

Nous exécutons la boucle jusqu’à ce que numInt soit supérieur à zéro. Dans la boucle, nous effectuons trois étapes ; la première consiste à trouver le reste du numInt en utilisant numInt % 2, puis à ajouter la valeur de remainder au StringBuilder.

Pour la dernière étape, nous divisons la valeur numInt par 2 et la stockons dans numInt lui-même. Une fois que nous avons effectué toutes les étapes et que nous sommes sortis de la boucle, nous inversons la valeur stringBuilder pour obtenir le résultat correct et renvoyons le résultat après avoir converti la valeur stringBuilder en une String.

Dans la méthode main(), nous prenons l’entrée de l’utilisateur et la passons à la méthode convertIntToBinary() qui renvoie le résultat binaire.

import java.util.Scanner;

public class JavaExample {
  public static void main(String[] args) {
    System.out.println("Enter a number to convert it to a binary: ");
    Scanner scanner = new Scanner(System.in);
    int getIntNum = scanner.nextInt();

    String getConvertedResult = convertIntToBinary(getIntNum);
    System.out.println("Converted Binary: " + getConvertedResult);
  }

  static String convertIntToBinary(int numInt) {
    if (numInt == 0)
      return "0";

    StringBuilder stringBuilder = new StringBuilder();

    while (numInt > 0) {
      int remainder = numInt % 2;
      stringBuilder.append(remainder);
      numInt /= 2;
    }

    stringBuilder = stringBuilder.reverse();
    return stringBuilder.toString();
  }
}

Production :

Enter a number to convert it to a binary: 
150
Converted Binary: 10010110
Auteur: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

Article connexe - Java Integer