📌  相关文章
📜  Java中的Java lang.Long.numberOfTrailingZeros() 方法和示例

📅  最后修改于: 2022-05-13 01:54:30.867000             🧑  作者: Mango

Java中的Java lang.Long.numberOfTrailingZeros() 方法和示例


Java .lang.Long.numberOfTrailingZeros()是Java中的一个内置函数,它返回最低位设置位右侧的尾随零位的数量。简单来说,它返回(position-1) ,其中位置是指从右边开始的第一个设置位。如果数字不包含任何设置位(换句话说,如果数字为零),则返回 64。

句法:

public static long numberOfTrailingZeros(long num)
Parameters:
num - the number passed 
Returns:
the number of trailing zeros after the lowest-order set bit

例子:

Input :  8
Output : 3 
Explanation: Binary representation of 8 is 1000 
No of trailing zeros to the right of the lowest-order set
bit is 3. 

Input : 191
Output : 0 

下面的程序说明了Java.lang.Long.numberOfTrailingZeros()函数:

方案一:

// Java program that demonstrates the
// Long.numberOfTrailingZeros() function
  
// include lang package
import java.lang.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        long l = 8;
  
        // returns the number of zero bits following the lowest-order
        // set bit
        System.out.println("Number of trailing zeros = "
                           + Long.numberOfTrailingZeros(l));
  
        // second example
        l = 25;
        System.out.println("Number of trailing zeros = "
                           + Long.numberOfTrailingZeros(l));
    }
}

输出:

Number of trailing zeros = 3
Number of trailing zeros = 0

程序2:下面的程序演示了传递负数时函数的使用。

// Java program that demonstrates the
// Long.numberOfTrailingZeros() function
// negative number
// include lang package
import java.lang.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        long l = -12;
  
        // returns the number of zero bits following the lowest-order
        // set bit
        System.out.println("Number of trailing zeros = "
                           + Long.numberOfTrailingZeros(l));
    }
}

输出:

Number of trailing zeros = 2

当十进制字符串值作为参数传递时,它会返回错误消息。
程序 3:在参数中传递十进制值时。

// Java program that demonstrates the
// Long.numberOfTrailingZeros() function
// decimal value as an argument
  
// include lang package
import java.lang.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // returns the number of zero bits following the lowest-order
        // set bit
        System.out.println("Number of trailing zeros = "
                           + Long.numberOfTrailingZeros(12.34));
    }
}

输出:

prog.java:16: error: incompatible types: possible lossy conversion from double to long
      System.out.println("Number of trailing zeros = "+Long.numberOfTrailingZeros(12.34));

程序 4:在参数中传递字符串值时。

// java program that demonstrates the
// Long.numberOfTrailingZeros() function
// string value as an argument
  
// include lang package
import java.lang.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // returns the number of zero bits following the lowest-order
        // set bit
        System.out.println("Number of trailing zeros = "
                           + Long.numberOfTrailingZeros("100"));
    }
}

输出:

prog.java:15: error: incompatible types: String cannot be converted to long
      System.out.println("Number of trailing zeros = "+Long.numberOfTrailingZeros("100"));