Java Integer.numberOfTrailingZeros()方法及示例

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() method
import 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 = 155
Number of Trailing Zeros = 0
Integral Number = 24
Number of Trailing Zeros = 3

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

程序2: 对于一个负数。

// Java program to illustrate the
// Java.lang.Integer.numberOfTrailingZeros() method
import 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 = -1
Number of Trailing Zeros = 0
Integral Number = -90
Number of Trailing Zeros = 1

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

// Java program to illustrate the
// Java.lang.Integer.numberOfTrailingZeros() method
import 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 output
1 error

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

// Java program to illustrate the
// Java.lang.Integer.numberOfTrailingZeros() method
import 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 output
1 error

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程