Java Convertir une chaîne hexagonale en Int

  1. Java Convertir une courte chaîne hexadécimale en int en utilisant Integer.decode()
  2. Java convertit une longue chaîne hexadécimale en int en utilisant Long.parseLong()
  3. Java convertit une très longue chaîne hexadécimale en int en utilisant un BigInteger

Cet article présente les trois méthodes que nous pouvons utiliser pour convertir une chaîne de caractères hexagonale en un int. Hex ou hexadécimal est un système de numérotation à 16 bases qui signifie qu’il y a 16 symboles possibles représentant des nombres. Les valeurs hexadécimales utilisées pour représenter les nombres sont 0-9 en décimal et A-F représentant 10-15 dans le système décimal.

Dans les exemples suivants, nous allons voir les étapes de conversion d’une chaîne hexadécimale donnée de différentes longueurs en une int en Java.

Java Convertir une courte chaîne hexadécimale en int en utilisant Integer.decode()

Dans le premier exemple, nous utilisons la fonction decode() de la classe Integer qui prend une String et retourne ensuite une int primitive.

En Java, un int peut stocker la valeur minimale de -231 jusqu’à la valeur maximale de 231-1. Si nous voulons que notre résultat soit de type int, nous ne pouvons pas travailler sur de longues chaînes de caractères. D’autres exemples dans cet article montreront comment nous pouvons convertir de longues valeurs hexadécimales en une valeur numérique.

public class Main {
    public static void main(String[] args) {      
        String hex = "0x2fd";

        int convertedValue = Integer.decode(hex);
        System.out.print(convertedValue);
    }
}

Production :

765

Java convertit une longue chaîne hexadécimale en int en utilisant Long.parseLong()

Comme nous l’avons vu plus haut, nous ne pouvons pas convertir de grandes valeurs hexagonales en int primitives, car elles peuvent renvoyer des valeurs à partir d’une capacité int. C’est pourquoi dans cet exemple, nous utilisons Long qui a une plus grande capacité de -263 à 263-1.

La méthode parseLong() de Long prend deux paramètres, une chaîne et une valeur de base, pour analyser la chaîne en un long entier primitif.

public class Main {
    public static void main(String[] args) {
        String hex = "AA0F245C";
        long l = Long.parseLong(hex, 16);
        System.out.println(l);
    }
}

Production :

2853119068

Java convertit une très longue chaîne hexadécimale en int en utilisant un BigInteger

Les valeurs hexadécimales peuvent être utilisées à des fins diverses, et l’une d’entre elles est que lorsque nous voulons chiffrer quelque chose, cette valeur hexadécimale peut être très longue. Si nous voulons convertir cet hexadécimal en une valeur numérique pour une raison quelconque, nous pouvons alors utiliser le BigInteger, qui peut contenir de grands nombres entiers, comme son nom l’indique.

Dans l’exemple suivant, nous passons notre valeur hexadécimale au constructeur de BigInteger avec la valeur de base. Nous pouvons également obtenir la valeur int de BigInteger.intValue(), mais il ne retournera que les 32 bits de départ.

import java.math.BigInteger;

public class Main {
    public static void main(String[] args) {
        String hex = "4D21C5BA77D06212F39E16BF2756E9811125F7FC";
        BigInteger bigInteger = new BigInteger(hex, 16);
        System.out.println(bigInteger);
    }
}

Production :

440345438517096076415390637616379300179635206140

Article connexe - Java Integer

  • Comment convertir un entier en chaîne en Java
  • Article connexe - Java Hex

  • Comment convertir un entier en chaîne en Java