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.
- Inicialize o diretório local como um repositório Git.
git init
- Adicione os arquivos no seu novo repositório local. Isso os prepara para o primeiro commit.
git add .
- Faça o commit dos arquivos que você preparou no seu repositório local.
git commit -m 'first commit'
- 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
- 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.
- Adicione as novas alterações ao repositório local.
git add .
- Faça o commit dos arquivos que você preparou no seu repositório local.
git commit -m 'commit message'
- 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.



