Introdução
O método numberOfTrailingZeros() retorna o número de bits zero que seguem o bit um de ordem mais baixa (mais à direita) do valor long passado. Este método faz parte da classe Long do pacote java.lang.
O método numberOfTrailingZeros() retorna o número de bits zero que seguem o bit um de ordem mais baixa (mais à direita) do valor long passado. Este método faz parte da classe Long do pacote java.lang.
Crie um novo arquivo Java usando o editor nano digitando o seguinte comando no seu terminal:
touch ~/project/TrailingZeros.java
Adicione o seguinte código para usar o método numberOfTrailingZeros() para obter o número de zeros à direita em um valor long:
public class TrailingZeros {
public static void main(String[] args) {
// positive number
long num1 = 170L;
System.out.println("Original Number is " + num1);
System.out.println("Binary representation is = " + Long.toBinaryString(num1));
System.out.println("Number of trailing zeros is = " + Long.numberOfTrailingZeros(num1));
// negative number
long num2 = -57L;
System.out.println("Original Number is " + num2);
System.out.println("Binary representation is = " + Long.toBinaryString(num2));
System.out.println("Number of trailing zeros is " + Long.numberOfTrailingZeros(num2));
}
}
Compile o código Java usando o seguinte comando no seu terminal:
javac ~/project/TrailingZeros.java
Após a compilação ser concluída, execute o programa digitando o seguinte comando no seu terminal:
java TrailingZeros
A saída do programa terá a seguinte aparência:
Original Number is 170
Binary representation is = 10101010
Number of trailing zeros is = 1
Original Number is -57
Binary representation is = 1111111111111111111111111111111111111111111111111111111111000111
Number of trailing zeros is 0
Você também pode receber entrada do usuário e retornar o número de zeros à direita do mesmo. Adicione o seguinte código para obter o comportamento acima:
import java.util.Scanner;
public class TrailingZeros {
public static void main(String[] args) {
try {
System.out.println("Enter a number: ");
Scanner sc = new Scanner(System.in);
long num3 = sc.nextLong();
System.out.println("Binary representation is = " + Long.toBinaryString(num3));
System.out.println("Number of trailing zeros is " + Long.numberOfTrailingZeros(num3));
} catch (Exception e) {
System.out.println("Invalid input");
}
}
}
Compile o código Java atualizado usando o seguinte comando no seu terminal:
javac ~/project/TrailingZeros.java
Após a compilação ser concluída, execute o programa atualizado digitando o seguinte comando no seu terminal:
java TrailingZeros
Quando o programa solicitar a entrada, insira um valor long de sua escolha e pressione a tecla 'Enter'. O programa exibirá a representação binária do número e o número de zeros à direita.
Neste laboratório, você aprendeu como usar o método numberOfTrailingZeros() para retornar o número de zeros à direita em um valor long passado. Você também criou um programa de entrada definido pelo usuário para receber entrada do usuário e retornar o número de zeros à direita do mesmo.