介绍
在 Java 中,NumberOfTrailingZeros()
方法用于返回作为参数传递的整数值的二进制补码中最低位(最右侧)的 1 之后的零位的数量。换句话说,它将整数值转换为二进制,并返回最低位(最右侧)的 1 之后的零位的总数。本实验将指导你如何在 Java 中使用 NumberOfTrailingZeros()
方法。
在 Java 中,NumberOfTrailingZeros()
方法用于返回作为参数传递的整数值的二进制补码中最低位(最右侧)的 1 之后的零位的数量。换句话说,它将整数值转换为二进制,并返回最低位(最右侧)的 1 之后的零位的总数。本实验将指导你如何在 Java 中使用 NumberOfTrailingZeros()
方法。
在 ~/project
目录下使用以下命令创建一个名为 NumberOfTrailingZerosDemo
的 Java 类。
vi ~/project/NumberOfTrailingZerosDemo.java
NumberOfTrailingZeros()
方法的代码在这一步中,我们将在类中添加代码以使用 NumberOfTrailingZeros()
Java 方法。
public class NumberOfTrailingZerosDemo {
public static void main(String[] args) {
int i = 170; // 正数
System.out.println("Original Number is " + i);
System.out.println("Binary representation is = " + Integer.toBinaryString(i));
System.out.println("Number of trailing zeros is " + Integer.numberOfTrailingZeros(i));
int j = -57; // 负数
System.out.println("Original Number is " + j);
System.out.println("Binary representation is = " + Integer.toBinaryString(j));
System.out.println("Number of trailing zeros is " + Integer.numberOfTrailingZeros(j));
}
}
这段代码将打印原始数字、其二进制表示以及最低位(最右侧)的 1 之后的零位的数量。
要编译该类,请在终端中执行以下命令。
javac NumberOfTrailingZerosDemo.java
运行编译后的类可以使用以下命令。
java NumberOfTrailingZerosDemo
程序的输出将如下所示。
Original Number is 170
Binary representation is = 10101010
Number of trailing zeros is 1
Original Number is -57
Binary representation is = 11111111111111111111111111000111
Number of trailing zeros is 0
以下是一个允许用户输入数字并打印其尾部零位数的示例。
将以下代码添加到 main()
函数中:
try {
System.out.println("Enter the number ");
Scanner sc = new Scanner(System.in);
int i = sc.nextInt();
System.out.println("Binary representation is = " + Integer.toBinaryString(i));
System.out.println("Number of trailing zeros is " + Integer.numberOfTrailingZeros(i));
} catch (Exception e) {
System.out.println("Invalid input");
}
要编译该类,请在终端中执行以下命令。
javac NumberOfTrailingZerosDemo.java
运行编译后的类可以使用以下命令。
java NumberOfTrailingZerosDemo
程序的输出将类似于:
Enter the number
87
Binary representation is = 1010111
Number of trailing zeros is 0
现在你已经了解了 NumberOfTrailingZeros()
方法的工作原理,可以测试一个实时示例,看看是否能生成类似的输出。
import java.lang.*;
public class NumberOfTrailingZerosDemo {
public static void main(String[] args) {
int i = 500; //2 trailing zeros
System.out.println("Number is like : "+ i);
System.out.println("Binary representation is = " + Integer.toBinaryString(i));
System.out.println("Number of trailing zeros is " + Integer.numberOfTrailingZeros(i));
int j = 456; //2 trailing zeros
System.out.println("Number is like : "+ j);
System.out.println("Binary representation is = " + Integer.toBinaryString(j));
System.out.println("Number of trailing zeros is " + Integer.numberOfTrailingZeros(j));
int k = -8; //3 leading zeros
System.out.println("Number is like : "+ k);
System.out.println("Binary representation is = " + Integer.toBinaryString(k));
System.out.println("Number of zeros behind the rightmost 1-bit is " + Integer.numberOfTrailingZeros(k));
}
}
在终端中执行上述代码以获取输出。
javac NumberOfTrailingZerosDemo.java
java NumberOfTrailingZerosDemo
这将生成以下输出。
Number is like : 500
Binary representation is = 111110100
Number of trailing zeros is 2
Number is like : 456
Binary representation is = 111001000
Number of trailing zeros is 2
Number is like : -8
Binary representation is = 11111111111111111111111111111000
Number of zeros behind the rightmost 1-bit is 3
现在你已经成功编写了 NumberOfTrailingZeros()
方法的代码,并将其保存到 ~/project/NumberOfTrailingZerosDemo.java
目录中,同时成功运行了代码。为了便于将来参考,将其保存到 GitHub 是非常重要的。按照以下步骤将代码推送到 GitHub 仓库。
git init
git add .
git commit -m 'first commit'
git remote add origin <REMOTE_URL>
## 示例
## git remote add origin https://github.com/user/repo.git
git push origin master
要更新 GitHub 上的代码,请按照以下步骤操作。
git add .
git commit -m 'commit message'
git push origin branch-name
要获取你提交到 GitHub 仓库的代码,请使用以下命令。
git clone <git-repo-url>
完成练习后,你应该通过删除创建和编译的 .java 文件来清理你的环境。
rm ~/project/NumberOfTrailingZerosDemo.java
rm ~/project/NumberOfTrailingZerosDemo.class
在本实验中,我们学习了如何在 Java 中使用 NumberOfTrailingZeros()
方法。同时,通过不同的输入数字示例,了解了输出如何随输入变化。我们还介绍了如何将代码保存到 GitHub。