Método numberOfTrailingZeros em Java para Long

JavaBeginner
Pratique Agora

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.

Criar um novo arquivo Java

Crie um novo arquivo Java usando o editor nano digitando o seguinte comando no seu terminal:

touch ~/project/TrailingZeros.java

Escrever código 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));
    }
}

Compilar e executar o código

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

Entrada definida pelo usuário

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");
        }
    }
}

Compilar e executar o código atualizado

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.

Resumo

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.