Java Long类numberOfTrailingZeros()方法及示例

Long类numberOfTrailingZeros()方法

  • 在java.lang包中提供了numberOfTrailingZeros()方法

  • numberOfTrailingZeros()方法用于返回long类型给定参数[value]的2的补码表示法中最右边一位之后的0位数。

  • numberOfTrailingZeros()方法是一个静态方法,也可以使用类名进行访问,如果尝试使用类对象访问该方法,那么也不会收到错误。

  • 在尾随零时,numberOfTrailingZeros()方法不会引发异常。

语法:

    public static int numberOfTrailingZeros (long value);

参数:

  • long value –表示要解析的long值。

返回值:

此方法的返回类型为int,它根据以下情况返回整数值:

  • 如果给定的参数不为零,则返回给定long值的2的补码中,最右边的一位后跟0的位数。

  • 否则,如果给定参数为零,则它将返回值64,因为在给定参数的2的补码中没有1的位。

示例

//Java程序演示示例 
//类别的numberOfTrailingZeros(长值)方法的说明

public class NumberOfTrailingZerosOfLongClass {
    public static void main(String[] args) {
        long value1 = 1296;
        long value2 = 0;

        //它返回给定unsigned的字符串表示形式 
        //以二进制形式的参数表示的long值
        //Long.toBinaryString(value1)
        System.out.println("Long.toBinaryString(value1): " + Long.toBinaryString(value1));

        //它返回给定unsigned的字符串表示形式 
        //以二进制形式的参数表示的long值
        //Long.toBinaryString(value2) 
        System.out.println("Long.toBinaryString(value2):" + Long.toBinaryString(value2));

        //它返回最左侧之后的0位数 
        //给定参数“值”中的一位 
        //Long.numberOfTrailingZeros(value1)

        System.out.println("Long.numberOfTrailingZeros(value1): " + Long.numberOfTrailingZeros(value1));

        //它返回值64,因为给定参数的值为零 
        System.out.println("Long.numberOfTrailingZeros(value2): " + Long.numberOfTrailingZeros(value2));
    }
}

输出结果

Long.toBinaryString(value1): 10100010000
Long.toBinaryString(value2):0
Long.numberOfTrailingZeros(value1): 4
Long.numberOfTrailingZeros(value2): 64