Introdução
Neste laboratório, você aprenderá como usar o método toHexString() da classe Double em Java. Este método é usado para retornar a String hexadecimal absoluta equivalente do valor double passado. O valor retornado estará no formato 0xh.hhhhhhhhhhhhp+d, onde h representa um dígito hexadecimal e d representa um expoente decimal.
Criar um novo arquivo Java
Crie um novo arquivo Java chamado DoubleToHexString.java usando o seguinte comando no terminal.
touch DoubleToHexString.java
Adicionar a declaração de importação
Adicione a seguinte declaração de importação no início do arquivo Java para importar a classe java.lang.Double.
import java.lang.Double;
Usar o método toHexString()
Nesta etapa, usaremos o método toHexString() para obter a String equivalente em hexadecimal de um valor double.
public static void main(String[] args) {
double num = -123.45;
String hex = Double.toHexString(num);
System.out.println("Decimal value: " + num);
System.out.println("Hexadecimal value: " + hex);
}
No código acima, criamos uma variável double chamada num com o valor -123.45. Em seguida, usamos o método toHexString() para obter a String equivalente em hexadecimal de num. Finalmente, imprimimos ambos os valores usando o método System.out.println().
Usar o valor NaN
Nesta etapa, usaremos o método toHexString() para o valor NaN.
public static void main(String[] args) {
double num = Double.NaN;
String hex = Double.toHexString(num);
System.out.println("Decimal value: " + num);
System.out.println("Hexadecimal value: " + hex);
}
No código acima, usamos Double.NaN, que representa o valor Not-A-Number (NaN), para obter a String equivalente em hexadecimal. Como mencionado anteriormente, o valor "NaN" será retornado para o valor NaN. Finalmente, imprimimos ambos os valores usando o método System.out.println().
Entrada do usuário
Nesta etapa, obteremos a entrada do usuário e, em seguida, usaremos o método toHexString() para obter a String equivalente em hexadecimal do valor de entrada.
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter a decimal value: ");
double num = sc.nextDouble();
String hex = Double.toHexString(num);
System.out.println("Decimal value: " + num);
System.out.println("Hexadecimal value: " + hex);
}
No código acima, usamos a classe Scanner para obter o valor de entrada do usuário. Em seguida, usamos toHexString() para obter a String equivalente em hexadecimal do valor de entrada. Finalmente, imprimimos ambos os valores usando o método System.out.println().
Compilar e executar o código
Compile o código usando o seguinte comando:
javac DoubleToHexString.java
Execute o código usando o seguinte comando:
java DoubleToHexString
Você verá uma saída semelhante a esta:
Enter a decimal value: 123.45
Decimal value: 123.45
Hexadecimal value: 0x1.edd2f1a9fbe77p6
Resumo
Neste laboratório, você aprendeu como usar o método toHexString() da classe Double para obter a String equivalente em hexadecimal de um valor double fornecido. Você também aprendeu como lidar com o valor NaN usando este método.



