Java.lang.Integer 类

java.lang.Integer.numberOfLeadingZeros() 方法返回最高位("最左边") 指定 int 值的二进制补码二进制表示形式中的一位。如果指定值在其二进制补码表示中没有一位,换句话说,如果它等于零,则该方法返回 32。

对于所有正 int 值 x:

  • floor(log2(x)) = 31 - numberOfLeadingZeros(x)
  • ceil(log2(x)) = 32 - numberOfLeadingZeros(x - 1)

语法

public static int numberOfLeadingZeros(int i)

参数

i 指定要计算前导零个数的值。

返回值

返回前导零的个数。指定 int 值的二进制补码二进制表示形式中最高位("最左边")一位之前的零位,如果该值等于零,则为 32。

异常

不适用。

示例:

在下面的示例中,java.lang.Integer.numberOfLeadingZeros() 方法返回给定 int 值的二进制补码二进制表示中最左边一位之前的零位数。

import java.lang.*;

public class MyClass {
  public static void main(String[] args) {
    
    //创建一个int值
    int x = 75; 

    //打印x的值,它的二进制
    //表示和numberOfLeadingZeros
    System.out.println("The values of x is: " + x);
    System.out.print("The binary representation of x is: ");
    System.out.println(Integer.toBinaryString(x));
    System.out.print("The numberOfLeadingZeros is: ");
    System.out.println(Integer.numberOfLeadingZeros(x));
  }
}

上述代码的输出将是:

The values of x is: 75
The binary representation of x is: 1001011
The numberOfLeadingZeros is: 25