Método rotateLeft em Java para Inteiros

JavaBeginner
Pratique Agora

Introdução

O método rotateLeft() em Java é um método embutido na classe Integer do pacote java.lang. Neste laboratório, você aprenderá como usar o método rotateLeft(), que é usado para rotacionar os bits de um equivalente binário de um número inteiro, ou seja, todos os bits do número binário são deslocados para a esquerda ou para a direita por um número definido de posições.

Usando o método rotateLeft() em um número negativo

  1. No arquivo RotateLeft.java, modifique o código Java para incluir um número negativo. Assumindo que o número inteiro é -10, escreva o código abaixo:

    public class RotateLeft {
        public static void main(String[] args) {
            int n = -10;
            int value = 4;
            System.out.println("Binary equivalent of " + n + " is: " + Integer.toBinaryString(n));
            n = Integer.rotateLeft(n, value); //rotate left value times
            System.out.println("After rotating " + value + " times to the left, the decimal number is: " + n);
            System.out.println("Binary equivalent of the new number is: " + Integer.toBinaryString(n));
        }
    }
    

    Nota: O método toBinaryString é usado para obter a representação equivalente binária de números inteiros.

  2. Salve o arquivo e feche o editor de texto.

  3. Compile o código usando o seguinte comando:

    javac ~/project/RotateLeft.java
    
  4. Execute o código usando o seguinte comando:

    java -cp ~/project RotateLeft
    
  5. Na saída, você deve ver o equivalente binário do número inteiro original, o equivalente decimal do novo número após rotacionar o número especificado de vezes para a esquerda e o equivalente binário do novo número.

Usando o método rotateLeft() para um número definido pelo usuário

  1. No arquivo RotateLeft.java, modifique o código Java para aceitar valores definidos pelo usuário para o número inteiro e o número de posições de bits para rotacionar os bits para a esquerda. Escreva o código conforme mostrado abaixo:

    import java.util.Scanner;
    
    public class RotateLeft {
        public static void main(String[] args) {
    
            Scanner input = new Scanner(System.in);
            System.out.print("Enter an integer number: ");
            int n = input.nextInt();
    
            System.out.print("Enter the number of times to rotate the bits to the left: ");
            int value = input.nextInt();
    
            input.close();
    
            System.out.println("Binary equivalent of " + n + " is: " + Integer.toBinaryString(n));
    
            n = Integer.rotateLeft(n, value); //rotate left value times
    
            System.out.println("After rotating " + value + " times to the left, the decimal number is: " + n);
            System.out.println("Binary equivalent of the new number is: " + Integer.toBinaryString(n));
        }
    }
    
  2. Salve o arquivo e feche o editor de texto.

  3. Compile o código usando o seguinte comando:

    javac ~/project/RotateLeft.java
    
  4. Execute o código usando o seguinte comando:

    java -cp ~/project RotateLeft
    
  5. Quando solicitado, insira um número inteiro e o número de posições de bits para rotacionar os bits para a esquerda.

  6. Na saída, você deve ver o equivalente binário do número inteiro original, o equivalente decimal do novo número após rotacionar o número especificado de vezes para a esquerda e o equivalente binário do novo número.

Resumo

Neste laboratório, você aprendeu como usar o método rotateLeft() na classe Integer para rotacionar os bits do equivalente binário de um inteiro, permitindo que você exiba o equivalente binário do número inteiro original e o equivalente binário do novo número após a rotação. Ao executar diferentes valores, você pode observar como o método rotateLeft() desloca os bits do equivalente binário de um inteiro, todos os bits para a esquerda.