Java の Long 型の toUnsignedString メソッドを探る

Beginner

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

はじめに

この実験では、JavaのLongクラスのtoUnsignedString(long,int)メソッドについて学びます。このメソッドは、引数として渡されたlong値の符号なし整数値を、文字列として渡された基数(radix)で返します。


Skills Graph

java.lang.Long パッケージをインポートしてメインメソッドを作成する

import java.lang.Long;

public class LongToUnsignedString {
    public static void main(String[] args) {
        // ここにコードを記述する
    }
}

いくつかのlong型とint型の値を定義して初期化する

    long a = -78L;
    int b = 78;
    int d = 10;
    int h = 16;
    int o = 8;

toUnsignedString() メソッドを使ってlong型の値を符号なしの文字列表現に変換する

    String s1 = Long.toUnsignedString(a,d);
    String s2 = Long.toUnsignedString(a,h);
    String s3 = Long.toUnsignedString(a, o);
    String s4 = Long.toUnsignedString(b, d);
    String s5 = Long.toUnsignedString(b, h);
    String s6 = Long.toUnsignedString(b, o);

符号なしの文字列表現を表示する

    System.out.println("Equivalent String Value = " + s1);
    System.out.println("Equivalent String Value = " + s2);
    System.out.println("Equivalent String Value = " + s3);
    System.out.println("Equivalent String Value = " + s4);
    System.out.println("Equivalent String Value = " + s5);
    System.out.println("Equivalent String Value = " + s6);

プログラムをコンパイルして実行する

javac LongToUnsignedString.java && java LongToUnsignedString

出力は以下のようになるはずです。

    Equivalent String Value = 18446744073709551538
    Equivalent String Value = ffffffffffffffb2
    Equivalent String Value = 1777777777777777777662
    Equivalent String Value = 78
    Equivalent String Value = 4e
    Equivalent String Value = 116
  1. 次のステップでは、ユーザーが独自の値と基数を入力して、それを符号なしの文字列に変換するプログラムを作成します。

main メソッドを変更する

    public static void main(String[] args) {
        try {
            System.out.println("Enter the value and base:");
            Scanner sc = new Scanner(System.in);
            long val = sc.nextLong();
            int b = sc.nextInt();
            System.out.println("Output: " + Long.toUnsignedString(val, b));
        }
        catch(Exception e) {
            System.out.println("Invalid Input!!");
        }
    }

プログラムをコンパイルして実行する

javac LongToUnsignedString.java && java LongToUnsignedString

出力は以下のようになるはずです。

    Enter the value and base:
    7445 8
    Output: 16425

プロンプトが表示されたとき、ユーザーは値と基数を入力して、それを符号なしの文字列に変換する必要があります。

まとめ

この実験では、JavaのLongクラスのtoUnsignedString(long,int)メソッドについて学びました。2つのJavaプログラムを作成しました。1つは、このメソッドを使って、long型の値を基数に基づいた同等の符号なしの文字列表現に変換するもので、もう1つは、ユーザーが独自の値と基数を入力して、それを符号なしの文字列に変換できるものです。この実験を通じて、Longクラスとそのメソッドをより深く理解することができました。