はじめに
この実験では、Java の Integer クラスの numberOfLeadingZeros() メソッドについて学びます。このメソッドは、引数として渡された int 値の 2 の補数の最上位 1 ビット(最左)の前にあるゼロ ビットの数を返すために使用されます。
Java ファイルを作成する
ターミナルを開き、次のコマンドを使用して新しい Java ファイルを作成します。
touch ~/project/NumberOfLeadingZerosDemo.java
numberOfLeadingZeros() メソッドを実装する
エディタに、numberOfLeadingZeros() メソッドを実装するために次のコードを追加します。
public class NumberOfLeadingZerosDemo {
public static void main(String[] args) {
int num = 170;
System.out.format("The number of leading zeros in %d is %d%n", num, Integer.numberOfLeadingZeros(num));
}
}
このコードは、変数 num に値 170 を初期化し、その後 numberOfLeadingZeros メソッドを使用して num の先頭のゼロの数を返します。
負の数でメソッドを実装する
さて、このプログラムを負の数で動作させるように修正しましょう。次のコードを追加します。
int negativeNum = -57;
System.out.format("The number of leading zeros in %d is %d%n", negativeNum, Integer.numberOfLeadingZeros(negativeNum));
これは、変数 negativeNum に値 -57 を初期化し、その後 numberOfLeadingZeros() メソッドを使用して negativeNum の先頭のゼロの数を返します。
負の数を使ってプログラムをコンパイルして実行する
ファイルに変更を保存し、次のコマンドを使用して再度プログラムをコンパイルします。javac ~/project/NumberOfLeadingZerosDemo.java
その後、次のコマンドを使用して再度プログラムを実行します。java NumberOfLeadingZerosDemo
出力は次のようになるはずです。
The number of leading zeros in 170 is 24
The number of leading zeros in -57 is 0
まとめ
この実験では、Java の Integer クラスの numberOfLeadingZeros() メソッドについて学びました。引数として渡された int 値の 2 の補数の最上位 1 ビット(最左)の前にあるゼロ ビットの数を返すためにこのメソッドをどのように使用するかを見ました。また、正の数と負の数の両方でそれをどのように使用するかも見ました。



