Java Converti stringa esadecimale in int

Rupam Yadav 12 ottobre 2023
  1. Java Converte una breve stringa esadecimale in int utilizzando Integer.decode()
  2. Java Converte una stringa esadecimale lunga in int utilizzando Long.parseLong()
  3. Java converte una stringa esadecimale molto lunga in int utilizzando BigInteger
Java Converti stringa esadecimale in int

Questo articolo introdurrà i tre metodi che possiamo usare per convertire una stringa esadecimale in un int. Esadecimale o esadecimale è un sistema di numerazione a 16 basi che significa che ci sono 16 possibili simboli che rappresentano i numeri. I valori esadecimali utilizzati per rappresentare i numeri sono 0-9 in decimale e A-F che rappresentano 10-15 nel sistema decimale.

Negli esempi seguenti, daremo uno sguardo ai passaggi per convertire una data stringa esadecimale di diverse lunghezze in un int in Java.

Java Converte una breve stringa esadecimale in int utilizzando Integer.decode()

Nel primo esempio, stiamo usando la funzione decode() della classe Integer che accetta una String e quindi restituisce un int primitivo.

In Java, un int può memorizzare il valore minimo di -231 fino al valore massimo di 231-1. Se vogliamo il nostro risultato nel tipo int, non possiamo lavorare su stringhe lunghe. Ulteriori esempi in questo articolo mostreranno come possiamo convertire valori esadecimali più lunghi in un valore numerico.

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

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

Produzione:

765

Java Converte una stringa esadecimale lunga in int utilizzando Long.parseLong()

Come abbiamo discusso in precedenza, non possiamo convertire grandi valori esadecimali in int primitivo perché può restituire un valore fuori da una capacità int. Questo è il motivo per cui in questo esempio stiamo usando Long che ha una capacità maggiore da -263 a 263-1.

Il metodo parseLong() di Long accetta due parametri, una stringa e un valore di base, per analizzare la stringa in un intero lungo primitivo.

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

Produzione:

2853119068

Java converte una stringa esadecimale molto lunga in int utilizzando BigInteger

I valori esadecimali possono essere utilizzati per vari scopi e uno di questi è quando vogliamo crittografare qualcosa, questo valore esadecimale può essere molto lungo. Se per qualche motivo vogliamo convertire questo esadecimale in un valore numerico, allora possiamo usare BigInteger, che può contenere numeri interi grandi, come indica il suo nome.

Nell’esempio seguente, passiamo il nostro valore esadecimale al costruttore di BigInteger con il valore di base. Possiamo anche ottenere il valore int da BigInteger.intValue(), ma restituirà solo i 32 bit iniziali.

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

Produzione:

440345438517096076415390637616379300179635206140
Autore: 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

Articolo correlato - Java Int

Articolo correlato - Java Hex