はじめに
Java のrotateLeft()メソッドは、java.langパッケージのIntegerクラスにある組み込みメソッドです。この実験では、整数の 2 進数に相当するビットを回転させるために使用されるrotateLeft()メソッドの使い方を学びます。つまり、2 進数のすべてのビットを左または右に一定の数だけシフトします。
負の数に対する rotateLeft() メソッドの使用
RotateLeft.javaファイルで、Java コードを修正して負の数を含めます。整数が-10であると仮定して、以下のコードを記述します。public class RotateLeft { public static void main(String[] args) { int n = -10; int value = 4; System.out.println("Binary equivalent of " + n + " is: " + Integer.toBinaryString(n)); n = Integer.rotateLeft(n, value); //左に value 回回転 System.out.println("After rotating " + value + " times to the left, the decimal number is: " + n); System.out.println("Binary equivalent of the new number is: " + Integer.toBinaryString(n)); } }注記:
toBinaryStringメソッドは、整数の 2 進数に相当する表現を取得するために使用されます。ファイルを保存して、テキストエディタを閉じます。
以下のコマンドを使用してコードをコンパイルします。
javac ~/project/RotateLeft.java以下のコマンドを使用してコードを実行します。
java -cp ~/project RotateLeft出力では、元の整数の 2 進数に相当するもの、指定された回数だけ左に回転させた後の新しい数の 10 進数に相当するもの、および新しい数の 2 進数に相当するものが表示されるはずです。
ユーザ定義数に対する rotateLeft() メソッドの使用
RotateLeft.javaファイルで、Java コードを修正して、整数とビットを左に回転させるビット位置の数に対するユーザ定義値を取得するようにします。以下のようにコードを記述します。import java.util.Scanner; public class RotateLeft { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("Enter an integer number: "); int n = input.nextInt(); System.out.print("Enter the number of times to rotate the bits to the left: "); int value = input.nextInt(); input.close(); System.out.println("Binary equivalent of " + n + " is: " + Integer.toBinaryString(n)); n = Integer.rotateLeft(n, value); //左にvalue回回転 System.out.println("After rotating " + value + " times to the left, the decimal number is: " + n); System.out.println("Binary equivalent of the new number is: " + Integer.toBinaryString(n)); } }ファイルを保存して、テキストエディタを閉じます。
以下のコマンドを使用してコードをコンパイルします。
javac ~/project/RotateLeft.java以下のコマンドを使用してコードを実行します。
java -cp ~/project RotateLeftプロンプトが表示されたら、整数とビットを左に回転させるビット位置の数を入力します。
出力では、元の整数の 2 進数に相当するもの、指定された回数だけ左に回転させた後の新しい数の 10 進数に相当するもの、および新しい数の 2 進数に相当するものが表示されるはずです。
まとめ
この実験では、IntegerクラスのrotateLeft()メソッドを使用して整数の 2 進数に相当するビットを回転させる方法を学びました。これにより、元の整数の 2 進数に相当するものと、回転後の新しい数の 2 進数に相当するものを出力することができます。さまざまな値を実行することで、rotateLeft()メソッドが整数の 2 進数に相当するすべてのビットを左にシフトする方法を観察することができます。



