Convertir une chaîne binaire en Int en Java

Rupam Yadav 12 octobre 2023
  1. Convertir une chaîne binaire en Int en Java en utilisant Integer.parseInt()
  2. Conversion d’une chaîne binaire en Int en Java en utilisant Math.pow()
Convertir une chaîne binaire en Int en Java

Le binaire est composé de deux nombres, 0 et 1, et ces nombres sont utilisés pour écrire différents types d’instructions pour les machines. Mais il est difficile pour les humains de lire ces codes binaires. C’est pourquoi il existe différentes techniques pour convertir le binaire en un format lisible par l’homme.

Dans ce tutoriel, nous allons passer en revue les deux méthodes que nous pouvons utiliser pour convertir une chaîne binaire en un int. Notre objectif est de prendre le binaire et de l’analyser pour obtenir un int qui représente ce nombre binaire.

Convertir une chaîne binaire en Int en Java en utilisant Integer.parseInt()

La première méthode est Integer.parseInt() qui analyse la chaîne donnée en un int. Lorsque nous passons une chaîne et une radix ou la valeur de base à Integer.parseInt(), elle retourne une valeur int qui est calculée en fonction du nombre de radix.

Dans l’exemple, binaryString a une valeur binaire qui doit être convertie en un int. Integer.parseInt(binaryString, 2) fait le travail pour nous. Le premier argument est la chaîne, et le second argument est 2 parce qu’un binaire est un système de nombres en base 2.

Si binaryString contient une valeur non-binaire, alors une NumberFormatException sera lancée et affichera le message d’erreur.

public class BinaryStringToInt {
  public static void main(String[] args) {
    try {
      String binaryString = "10010";
      int foo = Integer.parseInt(binaryString, 2);

      System.out.println(foo);
    } catch (NumberFormatException e) {
      System.out.println("Error: The binary string is not valid");
    }
  }
}

Production :

18

Conversion d’une chaîne binaire en Int en Java en utilisant Math.pow()

Dans cette méthode, nous allons vérifier chaque caractère de binaryString car nous savons qu’une chaîne en Java est une séquence de caractères. Nous devrons passer en boucle chaque caractère jusqu’à la longueur de la chaîne.

L’étape suivante consiste à vérifier l’occurrence des 1 dans la binaryString, car seuls les 1 sont ajoutés lorsque nous convertissons un binaire en décimal. S’il y a un 1, la longueur de la binaryString sera d’abord diminuée de 1 et de la valeur de l’itération. Ainsi, dans le cas de 101000, le premier caractère est un 1, ce qui signifie que int len contiendra la valeur 5 parce que binaryString.length() est 6 et que la variable d’itération i contient 0, ce qui signifie que 6 - 1 - 0 sera 5.

Maintenant, comme nous obtenons 5, et il est passé à Math.pow(base, len) comme deuxième argument, alors que le premier argument sera la base. Il appliquera la base 2 aux nombres et ajoutera ensuite tous les nombres, ce qui nous donnera le résultat dans int.

public class Main {
  public static void main(String[] args) {
    String binaryString = "101000";
    double convertedDouble = 0;

    for (int i = 0; i < binaryString.length(); i++) {
      if (binaryString.charAt(i) == '1') {
        int len = binaryString.length() - 1 - i;
        convertedDouble += Math.pow(2, len);
      }
    }

    int convertedInt = (int) convertedDouble;
    System.out.println(convertedInt);
  }
}

Production :

40
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 String

Article connexe - Java Int