Введение
В этом практическом занятии вы научитесь использовать метод toHexString() класса Double в Java. Этот метод используется для возврата абсолютной шестнадцатеричной строки, соответствующей переданному значению типа double. Возвращаемое значение будет иметь формат 0xh.hhhhhhhhhhhhp+d, где h представляет шестнадцатеричную цифру, а d представляет десятичный показатель степени.
Создайте новый Java-файл
Создайте новый Java-файл с именем DoubleToHexString.java с использованием следующей команды в терминале.
touch DoubleToHexString.java
Добавьте инструкцию import
Добавьте следующую инструкцию import в начале Java-файла для импорта класса java.lang.Double.
import java.lang.Double;
Используйте метод toHexString()
В этом шаге мы будем использовать метод toHexString() для получения шестнадцатеричной строки, соответствующей значению типа 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);
}
В приведенном выше коде мы создали переменную типа double с именем num со значением -123.45. Затем мы использовали метод toHexString() для получения шестнадцатеричной строки, соответствующей значению num. Наконец, мы вывели оба значения с использованием метода System.out.println().
Используйте значение NaN
В этом шаге мы будем использовать метод toHexString() для значения 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);
}
В приведенном выше коде мы использовали Double.NaN, которое представляет значение Not-A-Number (NaN), для получения шестнадцатеричной строки, соответствующей этому значению. Как уже упоминалось ранее, для значения NaN будет возвращено значение "NaN". Наконец, мы вывели оба значения с использованием метода System.out.println().
Ввод пользователя
В этом шаге мы получим ввод от пользователя и затем используем метод toHexString() для получения шестнадцатеричной строки, соответствующей введенному значению.
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);
}
В приведенном выше коде мы использовали класс Scanner для получения значения от пользователя. Затем мы использовали toHexString() для получения шестнадцатеричной строки, соответствующей введенному значению. Наконец, мы вывели оба значения с использованием метода System.out.println().
Компилируйте и запустите код
Скомпилируйте код с использованием следующей команды:
javac DoubleToHexString.java
Запустите код с использованием следующей команды:
java DoubleToHexString
Вы увидите вывод, подобный следующему:
Enter a decimal value: 123.45
Decimal value: 123.45
Hexadecimal value: 0x1.edd2f1a9fbe77p6
Резюме
В этом практическом занятии вы узнали, как использовать метод toHexString() класса Double для получения шестнадцатеричной строки, соответствующей заданному значению типа double. Также вы узнали, как обрабатывать значение NaN с использованием этого метода.



