Método numberOfTrailingZeros em Java para Inteiros

JavaBeginner
Pratique Agora

Introdução

Em Java, o método NumberOfTrailingZeros() é usado para retornar o número de bits zero que seguem o bit um de ordem mais baixa (mais à direita) do complemento de dois do valor inteiro passado como argumento. Em outras palavras, ele converte o valor inteiro em binário e retorna o número total de bits zero que seguem o bit um mais baixo (mais à direita). Este laboratório irá guiá-lo através do processo de uso do método NumberOfTrailingZeros() em Java.

Criar uma classe Java

Crie uma classe Java chamada NumberOfTrailingZerosDemo no diretório ~/project usando o seguinte comando.

vi ~/project/NumberOfTrailingZerosDemo.java

Adicionar código para o método NumberOfTrailingZeros()

Nesta etapa, adicionaremos o código para usar o método Java NumberOfTrailingZeros() em nossa classe.

public class NumberOfTrailingZerosDemo {

    public static void main(String[] args) {
        int i = 170; // número positivo
        System.out.println("Original Number is " + i);
        System.out.println("Binary representation is = " + Integer.toBinaryString(i));
        System.out.println("Number of trailing zeros is " + Integer.numberOfTrailingZeros(i));

        int j = -57; // número negativo
        System.out.println("Original Number is " + j);
        System.out.println("Binary representation is = " + Integer.toBinaryString(j));
        System.out.println("Number of trailing zeros is " + Integer.numberOfTrailingZeros(j));
    }
}

Este código imprimirá o número original, sua representação binária e o número de zeros à direita que seguem o bit um de ordem mais baixa.

Compilar e executar a classe Java

Para compilar a classe, execute o seguinte comando no terminal.

javac NumberOfTrailingZerosDemo.java

A execução da classe compilada pode ser feita usando o seguinte comando.

java NumberOfTrailingZerosDemo

A saída do programa será a seguinte.

Original Number is 170
Binary representation is = 10101010
Number of trailing zeros is 1
Original Number is -57
Binary representation is = 11111111111111111111111111000111
Number of trailing zeros is 0

Exemplo de Entrada do Usuário

Aqui está um exemplo que permite que um usuário insira um número e imprime o número de zeros à direita.

Adicione o código abaixo à função main():

try {
    System.out.println("Enter the number ");
    Scanner sc = new Scanner(System.in);
    int i = sc.nextInt();
    System.out.println("Binary representation is = " + Integer.toBinaryString(i));
    System.out.println("Number of trailing zeros is " + Integer.numberOfTrailingZeros(i));
} catch (Exception e) {
    System.out.println("Invalid input");
}

Compilar e executar a classe Java modificada

Para compilar a classe, execute o seguinte comando no terminal.

javac NumberOfTrailingZerosDemo.java

A execução da classe compilada pode ser feita usando o seguinte comando.

java NumberOfTrailingZerosDemo

A saída do programa será semelhante a:

Enter the number
87
Binary representation is = 1010111
Number of trailing zeros is 0

Testar o Exemplo ao Vivo

Agora que você sabe como o método NumberOfTrailingZeros() funciona, você pode testar um exemplo ao vivo para ver se consegue produzir uma saída semelhante.

import java.lang.*;

public class NumberOfTrailingZerosDemo {
    public static void main(String[] args) {
            int i = 500; //2 trailing zeros

            System.out.println("Number is like : "+ i);
            System.out.println("Binary representation is = " + Integer.toBinaryString(i));
            System.out.println("Number of trailing zeros is " + Integer.numberOfTrailingZeros(i));

            int j = 456; //2 trailing zeros
            System.out.println("Number is like : "+ j);
            System.out.println("Binary representation is = " + Integer.toBinaryString(j));
            System.out.println("Number of trailing zeros is " + Integer.numberOfTrailingZeros(j));

            int k = -8; //3 leading zeros
            System.out.println("Number is like : "+ k);
            System.out.println("Binary representation is = " + Integer.toBinaryString(k));
            System.out.println("Number of zeros behind the rightmost 1-bit is " + Integer.numberOfTrailingZeros(k));
    }
}

Execute o código acima no terminal para obter a saída.

javac NumberOfTrailingZerosDemo.java
java NumberOfTrailingZerosDemo

que produzirá a seguinte saída.

Number is like : 500
Binary representation is = 111110100
Number of trailing zeros is 2
Number is like : 456
Binary representation is = 111001000
Number of trailing zeros is 2
Number is like : -8
Binary representation is = 11111111111111111111111111111000
Number of zeros behind the rightmost 1-bit is 3

Salvar o código no GitHub

Agora que você escreveu com sucesso o código para o método NumberOfTrailingZeros(), salvou-o no diretório ~/project/NumberOfTrailingZerosDemo.java e executou o código com sucesso, é importante salvá-lo no GitHub para referência futura. Use as seguintes etapas para enviar o código para o repositório do GitHub.

  1. Inicialize o diretório local como um repositório Git.
git init
  1. Adicione os arquivos no seu novo repositório local. Isso os prepara para o primeiro commit.
git add .
  1. Faça o commit dos arquivos que você preparou no seu repositório local.
git commit -m 'first commit'
  1. No prompt de comando, adicione a URL para o repositório remoto onde seu repositório local será enviado.
git remote add origin <REMOTE_URL>
## Exemplo
## git remote add origin https://github.com/user/repo.git
  1. Envie as alterações no seu repositório local para o GitHub.
git push origin master

Atualizar o código no GitHub

Para atualizar o código no GitHub, siga as etapas abaixo.

  1. Adicione as novas alterações ao repositório local.
git add .
  1. Faça o commit dos arquivos que você preparou no seu repositório local.
git commit -m 'commit message'
  1. Envie as alterações no seu repositório local para o GitHub.
git push origin branch-name

Recuperando o código do GitHub

Para recuperar o código que você fez o commit no repositório do GitHub, use o seguinte comando.

git clone <git-repo-url>

Limpar o Ambiente Local

Após concluir seu exercício, você deve limpar seu ambiente excluindo o arquivo .java que você criou e compilou.

rm ~/project/NumberOfTrailingZerosDemo.java
rm ~/project/NumberOfTrailingZerosDemo.class

Resumo

Neste laboratório, aprendemos como usar o método NumberOfTrailingZeros() em Java. Também cobrimos exemplos com diferentes números de entrada e como a saída muda com diferentes entradas. Também abordamos como salvar o código no GitHub.