はじめに
この実験では、Java の Double
クラスの toHexString()
メソッドの使い方を学びます。このメソッドは、渡された倍精度浮動小数点数の絶対値の 16 進数に相当する String
を返すために使用されます。返される値は、0xh.hhhhhhhhhhhhp+d の形式で、h は 16 進数の桁、d は 10 進数の指数を表します。
💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください
この実験では、Java の Double
クラスの toHexString()
メソッドの使い方を学びます。このメソッドは、渡された倍精度浮動小数点数の絶対値の 16 進数に相当する String
を返すために使用されます。返される値は、0xh.hhhhhhhhhhhhp+d の形式で、h は 16 進数の桁、d は 10 進数の指数を表します。
ターミナルで以下のコマンドを使用して、DoubleToHexString.java
という名前の新しい Java ファイルを作成します。
touch DoubleToHexString.java
Java ファイルの先頭に以下のインポート文を追加して、java.lang.Double
クラスをインポートします。
import java.lang.Double;
toHexString()
メソッドを使用するこのステップでは、toHexString()
メソッドを使用して、倍精度浮動小数点数の 16 進数に相当する String
を取得します。
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);
}
上記のコードでは、値 -123.45
を持つ倍精度浮動小数点数変数 num
を作成しました。次に、toHexString()
メソッドを使用して、num
の 16 進数に相当する String
を取得しました。最後に、System.out.println()
メソッドを使用して両方の値を出力しました。
NaN
値を使用するこのステップでは、NaN
値に対して toHexString()
メソッドを使用します。
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);
}
上記のコードでは、「Not-A-Number (NaN)」値を表す Double.NaN
を使用して、16 進数に相当する String
を取得しています。前述の通り、NaN
値に対しては "NaN"
という値が返されます。最後に、System.out.println()
メソッドを使用して両方の値を出力しました。
このステップでは、ユーザーから入力を取得し、その後、入力値の 16 進数に相当する String
を取得するために 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
クラスを使用してユーザーから入力値を取得しました。その後、入力値の 16 進数に相当する String
を取得するために toHexString()
を使用しました。最後に、System.out.println()
メソッドを使用して両方の値を出力しました。
以下のコマンドを使用してコードをコンパイルします。
javac DoubleToHexString.java
以下のコマンドを使用してコードを実行します。
java DoubleToHexString
以下のような出力が表示されます。
Enter a decimal value: 123.45
Decimal value: 123.45
Hexadecimal value: 0x1.edd2f1a9fbe77p6
この実験では、Double
クラスの toHexString()
メソッドを使用して、与えられた倍精度浮動小数点数の 16 進数に相当する String
を取得する方法を学びました。また、このメソッドを使用して NaN
値を処理する方法も学びました。