はじめに
rotateRight() メソッドは、2 進データのビット操作に役立ちます。具体的には、数値の 2 進桁を指定されたビット数だけ右に回転させます。これは、整数に対するビット演算を行ったり、2 進数と 10 進数の間で変換したりする際に役立ちます。この実験では、このメソッドを使用してさまざまな整数を回転させ、結果を調べる方法を探ります。
rotateRight() メソッドは、2 進データのビット操作に役立ちます。具体的には、数値の 2 進桁を指定されたビット数だけ右に回転させます。これは、整数に対するビット演算を行ったり、2 進数と 10 進数の間で変換したりする際に役立ちます。この実験では、このメソッドを使用してさまざまな整数を回転させ、結果を調べる方法を探ります。
最初のステップでは、rotateRight() メソッドを使用するために必要なパッケージをインポートする必要があります。このために、java.lang と java.util パッケージを使用します。
import java.lang.*;
import java.util.*;
このパッケージには、ユーザー入力を取得するために必要な Scanner クラスが含まれています。
このステップでは、RotateRight クラスと main() メソッドを定義します。
public class RotateRight {
public static void main(String[] args) {
// ここに追加するコード
}
}
このステップでは、プログラムに必要な変数を定義します。
public class RotateRight {
public static void main(String[] args) {
int n1 = 8;
int n2 = -8;
int val = 3;
// ここに追加するコード
}
}
3 つの変数 n1、n2、および val を定義しました。これらの変数は、後のステップでビット回転操作を行うために使用されます。
このステップでは、Integer.toBinaryString() メソッドを使用して、数値 n1 と n2 の 2 進数相当を出力します。
public class RotateRight {
public static void main(String[] args) {
int n1 = 8;
int n2 = -8;
int val = 3;
System.out.println("n1 の 2 進数相当:" + Integer.toBinaryString(n1));
System.out.println("n2 の 2 進数相当:" + Integer.toBinaryString(n2));
}
}
ここでは、Integer.toBinaryString() メソッドを使用して整数を 2 進数形式に変換し、その後 System.out.println() メソッドを使用して出力しています。
このステップでは、rotateRight() メソッドを使用してビット回転操作を実行します。
public class RotateRight {
public static void main(String[] args) {
int n1 = 8;
int n2 = -8;
int val = 3;
System.out.println("n1 の 2 進数相当:" + Integer.toBinaryString(n1));
for (int i = 0; i < val; i++) {
n1 = Integer.rotateRight(n1, val);
System.out.println(n1);
}
System.out.println("n2 の 2 進数相当:" + Integer.toBinaryString(n2));
for (int i = 0; i < val; i++) {
n2 = Integer.rotateRight(n2, val);
System.out.println(n2);
}
}
}
上記のコードには、両方の数値に対してビット回転操作を行うための 2 つの for ループがあります。回転させる数値と回転する位置の数とともに rotateRight() メソッドを使用しています。
このステップでは、コマンドラインを通じてユーザー入力を受け取り、ユーザー入力に基づいてビット回転操作を実行します。
public class RotateRight {
public static void main(String[] args) {
try {
System.out.println("値と距離を入力してください");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int val = sc.nextInt();
System.out.println("2 進数相当は : " + Integer.toBinaryString(n));
for (int i = 0; i < val; i++) {
n = Integer.rotateRight(n, val);
System.out.println(n);
}
} catch (Exception e) {
System.out.println("入力が無効です");
}
}
}
ここでは、スキャナーオブジェクト sc の nextInt() メソッドを通じてユーザー入力を受け取りました。その後、ユーザー入力に応じてビット回転操作が実行されます。
プログラムをコンパイルして実行するには、ターミナルで次のコマンドを使用できます。
javac RotateRight.java && java RotateRight
この実験では、Java で Integer.rotateRight() メソッドを使用してビット回転操作を行う方法を学びました。必要なパッケージをインポートし、メインクラスとユーザー定義変数を定義することから始めました。与えられた入力数値の 2 進数相当を出力し、その後ユーザー入力に基づいてビット回転操作を行いました。最後に、プログラムをコンパイルして実行し、出力を確認しました。