Java の Double 型の toHexString メソッド

JavaJavaBeginner
オンラインで実践に進む

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

この実験では、Java の Double クラスの toHexString() メソッドの使い方を学びます。このメソッドは、渡された倍精度浮動小数点数の絶対値の 16 進数に相当する String を返すために使用されます。返される値は、0xh.hhhhhhhhhhhhp+d の形式で、h は 16 進数の桁、d は 10 進数の指数を表します。

新しい Java ファイルを作成する

ターミナルで以下のコマンドを使用して、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 値を処理する方法も学びました。