Java Integer.numberOfTrailingZeros()方法及示例

来源:这里教程网 时间:2026-02-17 20:51:15 作者:

Java Integer.numberOfTrailingZeros()方法及示例

Java.lang.Integer.numberOfTrailingZeros() 方法返回指定整数值的二进制补码表示法中最低位(即最右边或最没有意义的 “1 “位)之后的零(0)位总数,或者我们可以说它是一个将int值转换为二进制的函数,然后考虑最低位并返回它之后的零位数。如果指定的整数值在其二进制补码表示中没有一比特,换句话说,如果它等于零,那么它将返回32。

语法:

public static int numberOfTrailingZeros(int a)

参数。参数a是一个整数值。

返回值。该方法返回指定int值的二进制补码表示法中最低阶一位或一位之后的零位数,如果该值等于零,则返回32。

解释

考虑一个整数a = 170二进制表示法 = 10101010最低的一位=2尾部零的数量=1

以下程序说明了Java.lang.Integer.numberOfTrailingZeros()方法。

程序1: 对于一个正数。

// Java program to illustrate the// Java.lang.Integer.numberOfTrailingZeros() methodimport java.lang.*;  public class TrailingZeros {  public static void main(String[] args) {      int a = 155;    System.out.println("Integral Number = " + a);        // Returns the number of zero bits following the lowest-order         //rightmost one-bit     System.out.print("Number of Trailing Zeros = ");    System.out.println(Integer.numberOfTrailingZeros(a));         a = 24;    System.out.println("Integral Number = " + a);        // Returns the number of zero bits following the lowest-order     //rightmost one-bit     System.out.print("Number of Trailing Zeros = ");    System.out.println(Integer.numberOfTrailingZeros(a));      }}

输出。

Integral Number = 155Number of Trailing Zeros = 0Integral Number = 24Number of Trailing Zeros = 3

注意: 这里155的尾部零数等于0,这是因为在二进制表示法10011011中,在最低阶(即最右边或最没有意义的 “1 “位)的一位之后没有零。

程序2: 对于一个负数。

// Java program to illustrate the// Java.lang.Integer.numberOfTrailingZeros() methodimport java.lang.*;  public class TrailingZeros {  public static void main(String[] args) {      int a = -1;    System.out.println("Integral Number = " + a);        // Returns the number of zero bits following the lowest-order     //rightmost one-bit     System.out.print("Number of Trailing Zeros = ");    System.out.println(Integer.numberOfTrailingZeros(a));        a = -90;    System.out.println("Integral Number = " + a);        // Returns the number of zero bits following the lowest-order     //rightmost one-bit     System.out.print("Number of Trailing Zeros = ");    System.out.println(Integer.numberOfTrailingZeros(a));      }}

输出。

Integral Number = -1Number of Trailing Zeros = 0Integral Number = -90Number of Trailing Zeros = 1

程序3: 对于一个十进制数值。
注意: 当一个十进制数值作为参数传递时,它将返回一个错误信息。

// Java program to illustrate the// Java.lang.Integer.numberOfTrailingZeros() methodimport java.lang.*;  public class TrailingZeros {  public static void main(String[] args) {       System.out.println("Number of trailing zeros = "+     Integer.numberOfTrailingZeros(12.66));      }}

输出。

prog.java:10: error: incompatible types: possible lossy conversion from double to int     Integer.numberOfTrailingZeros(12.66));                                   ^Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output1 error

程序4: 对于一个字符串值。
注意: 当一个字符串值作为参数被传递时,它将返回一个错误信息。

// Java program to illustrate the// Java.lang.Integer.numberOfTrailingZeros() methodimport java.lang.*;  public class TrailingZeros {  public static void main(String[] args) {   System.out.println("Number of trailing zeros = "                           + Integer.numberOfTrailingZeros("12"));}}

输出。

prog.java:10: error: incompatible types: String cannot be converted to int                           + Integer.numberOfTrailingZeros("12"));                                                           ^Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output1 error

相关推荐