Java Long.numberofTrailingZeros()方法

原文:https://www.studytonight.com/java-wrapper-class/java-long-numberoftrailingzeros-method

Java numberofTrailingZeros() 方法是java.lang包的Long类的一部分。此方法用于返回作为参数传递的长值的二进制补码的最低一位(最右边)之后的零位。换句话说,它将长值转换为二进制,并返回最低(最右边)一位之后的零位总数。

如果传递的值没有一位,即该值为零,则返回值 64。

语法:

public static int numberOfTrailingZeros(long i)

参数:

传递的参数是长值,它的零位数跟在最低一位之后。

返回:

返回所传递参数的最低一位(最右边)之后的零位数。

例 1:

这里,为了更好地理解该方法,取一个正数和一个负数。

Long.toBinaryString方法用于表示传递数的等价二进制形式。

public class StudyTonight
{

   public static void main(String[] args) 
   {

      long i = 170L;   //positive number
      System.out.println("Original Number is " + i);
      System.out.println("Binary representation is = " + Long.toBinaryString(i)); // converting into binary string of base 2 
      System.out.println("Number of trailing zeros is = " + Long.numberOfTrailingZeros(i)); //returns the number of zero bits following the lowest-order one bit

      long j=-57L; //negative number
      System.out.println("Original Number is " + j);
      System.out.println("Binary representation is = " + Long.toBinaryString(j)); // converting into binary string of base 2 
      System.out.println("Number of trailing zeros is " + Long.numberOfTrailingZeros(j)); //returns the number of zero bits following the lowest-order one bit
   }
}

原数为 170 二进制表示为= 10101010 尾随零数为= 1 原数为-57 二进制表示为= 11111111111111111111111111111111111111111111111111111111111111111111000111 尾随零数为 0

例 2:

这里有一个用户定义的例子,任何使用这段代码的人都可以输入自己选择的值,并获得等效的输出。

import java.lang.*;
import java.util.Scanner;

public class StudyTonight
{

   public static void main(String[] args) 
   {

      try
      {
        System.out.println("Enter the number ");
        Scanner sc = new Scanner(System.in);
        long i=sc.nextLong();
        System.out.println("Binary representation is = " + Long.toBinaryString(i)); // converting into binary string of base 2 
        System.out.println("Number of trailing zeros is " + Long.numberOfTrailingZeros(i)); //returns the number of zero bits following the lowest-order one bit
      }
      catch(Exception e)
      {
        System.out.println("Invalid input");
      }

   }
}

输入数字 77 二进制表示为= 1001101 尾随零的个数为 0

                                                            • T5】输入数字 -343 二进制表示为= 111111111111111111111111111111111111111111111111111111111111111111111111111111111111

实时示例:

在这里,您可以测试实时代码示例。您可以为不同的值执行示例,甚至可以编辑和编写您的示例来测试 Java 代码。