Java convierte una cadena hexadecimal en Int

Rupam Yadav 12 octubre 2023
  1. Java convierte una cadena hexadecimal corta a int usando Integer.decode()
  2. Java convierte una cadena hexadecimal larga a int usando Long.parseLong()
  3. Java convierte una cadena hexadecimal muy larga a in usando BigInteger
Java convierte una cadena hexadecimal en Int

Este artículo presentará los tres métodos que podemos usar para convertir una cadena de hexadecimal en una int. Hex o hexadecimal es un sistema de numeración de 16 bases que significa que hay 16 símbolos posibles que representan números. Los valores hexadecimales utilizados para representar los números son 0-9 en el sistema decimal y A-F que representa 10-15 en el sistema decimal.

En los siguientes ejemplos, veremos los pasos para convertir una determinada cadena hexadecimal de diferentes longitudes en una int en Java.

Java convierte una cadena hexadecimal corta a int usando Integer.decode()

En el primer ejemplo, estamos usando la función decode() de la clase Integer que toma una String y luego devuelve una int primitiva.

En Java, una int puede almacenar el valor mínimo de -231 hasta el valor máximo de 231-1. Si queremos que nuestro resultado sea del tipo int, no podemos trabajar con cadenas largas. Más ejemplos en este artículo mostrarán cómo podemos convertir valores hexadecimales más largos en un valor numérico.

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

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

Resultado:

765

Java convierte una cadena hexadecimal larga a int usando Long.parseLong()

Como discutimos anteriormente, no podemos convertir grandes valores de hexadecimal a int primitivos porque puede devolver el valor de una capacidad de int. Es por eso que en este ejemplo estamos usando Long que tiene una mayor capacidad de -263 a 263-1.

El método parseLong() de Long toma dos parámetros, una cadena y un valor base, para analizar la cadena hasta un entero largo primitivo.

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

Resultado:

2853119068

Java convierte una cadena hexadecimal muy larga a in usando BigInteger

Los valores hexadecimales pueden ser usados para varios propósitos, y uno de ellos es cuando queremos encriptar algo, este valor hexadecimal puede ser muy largo. Si queremos convertir este hexadecimal en un valor numérico por alguna razón, entonces podemos usar BigInteger, que puede contener números enteros grandes, como su nombre indica.

En el siguiente ejemplo, le pasamos nuestro valor hexadecimal al constructor de BigInteger con el valor base. También podemos obtener el valor de int de BigInteger.intValue(), pero sólo devolverá los 32 bits iniciales.

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

Resultado:

440345438517096076415390637616379300179635206140
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

Artículo relacionado - Java Int

Artículo relacionado - Java Hex