Java Converter Hex String em Int
-
Java Converter uma string hexadecimal curta para
int
utilizandoInteger.decode()
-
Java Converter uma string hexadecimal longa para
int
UtilizandoLong.parseLong()
-
Java Converter uma string Hex muito longa em
int
utilizandoBigInteger
Este artigo irá introduzir os três métodos que podemos utilizar para converter uma string hexagonal em int
. Hex ou hexadecimal é um sistema de numeração de 16 bases que significa que existem 16 símbolos possíveis representando números. Os valores hexadecimais utilizados para representar números são 0-9 em decimal e A-F representando 10-15 no sistema decimal.
Nos exemplos seguintes, veremos os passos para converter uma dada sequência hexadecimal de diferentes comprimentos para um int
em Java.
Java Converter uma string hexadecimal curta para int
utilizando Integer.decode()
No primeiro exemplo, estamos a utilizar a função decode()
da classe Integer
que toma um String
e depois devolve um int
primitivo.
Em Java, um int
pode armazenar o valor mínimo de -231 até ao valor máximo de 231-1. Se quisermos o nosso resultado do tipo int
, não podemos trabalhar com strings longas. Outros exemplos neste artigo mostrarão como podemos converter valores hexadecimais mais longos em valores numéricos.
public class Main {
public static void main(String[] args) {
String hex = "0x2fd";
int convertedValue = Integer.decode(hex);
System.out.print(convertedValue);
}
}
Resultado:
765
Java Converter uma string hexadecimal longa para int
Utilizando Long.parseLong()
Como discutimos acima, não podemos converter grandes valores hexadecimais em valores primitivos de int
porque pode devolver valor a partir de uma capacidade de int
. É por isso que neste exemplo estamos a utilizar Long
que tem uma capacidade maior de -263 a 263-1.
O método parseLong()
de Long
leva dois parâmetros, uma string e um valor base, para analisar a string a um inteiro longo 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 Converter uma string Hex muito longa em int
utilizando BigInteger
Os valores hexadecimais podem ser utilizados para vários fins, e um deles é quando queremos encriptar algo, este valor hexadecimal pode ser muito longo. Se quisermos converter este valor hexadecimal para um valor numérico por alguma razão, então podemos utilizar BigInteger
, que pode conter grandes números inteiros, como o seu nome indica.
No exemplo seguinte, passamos o nosso valor hexadecimal ao construtor de BigInteger
com o valor base. Também podemos obter o valor int
de BigInteger.intValue()
, mas só devolverá os 32 bits iniciais.
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 Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInArtigo relacionado - Java Int
- Como Converter Int para Char em Java
- Converter Int para Double em Java
- Converter Int em Byte em Java
- Converter inteiro para int em Java
- Diferença entre Integer e int em Java
- Verifique se Int é Nulo em Java