Método entero de rotación a la izquierda() en Java

El desplazamiento de bits es un tipo de operación bit a bit que se realiza en todos los bits de un valor binario al mover los bits un número definido de lugares hacia la izquierda o hacia la derecha. Java tiene un solo operador de desplazamiento lógico a la izquierda (<< ). Cuando el valor 0001 (es decir, 1) se cambia a la izquierda, se convierte en 0010 (es decir, 2), que al cambiar de nuevo a la izquierda se convierte en 0100 o 4. Se aplica el mismo proceso para la operación de cambio a la derecha.
El método java.lang.Integer.rotateLeft() se usa para desplazar los bits de un valor Integer, representado en su forma complementaria de 2 binarios hacia la izquierda por un número específico de bits. (Los bits se desplazan hacia la izquierda o hacia un orden superior).

Sintaxis:

public static int rotateLeft(int value, int shifts)

Parámetros: El método toma dos parámetros:

  • a : Es de tipo entero y se refiere al valor sobre el que se va a realizar la operación.
  • turnos : Esto también es de tipo entero y se refiere a la distancia de rotación.

Valor devuelto: el método devuelve el valor obtenido al rotar la representación binaria en complemento a dos del valor int especificado hacia la izquierda el número especificado de bits de desplazamiento.
Ejemplos:

Input: 12
Output: 24
Explanation:
Consider an integer a = 12 
Binary Representation = 00001100
After 1 left shift it will become=00011000
So that is= 24

Los siguientes programas ilustran el método java.lang.Integer.rotateLeft().
Programa 1: Para un número positivo.

// Java program to illustrate the
// Java.lang.Integer.rotateLeft() method
import java.lang.*;
  
public class Geeks {
  
    public static void main(String[] args)
    {
  
        int a = 2;
        int shifts = 0;
        while (shifts < 6)
        // It will return the value obtained by rotating left
        {
            a = Integer.rotateLeft(a, 2);
            System.out.println(a);
            shifts++;
        }
    }
}
Producción:

8
32
128
512
2048
8192

Programa 2: Para un número negativo.

// Java program to illustrate the
// Java.lang.Integer.rotateLeft() method
import java.lang.*;
  
public class Geeks {
  
    public static void main(String[] args)
    {
  
        int a = -16;
        int shifts = 0;
        while (shifts < 2)
        // It will return the value obtained by rotating left
        {
            a = Integer.rotateLeft(a, shifts);
            System.out.println(a);
            shifts++;
        }
    }
}
Producción:

-16
-31

Programa 3: Para un valor decimal y string.
Nota: devuelve un mensaje de error cuando se pasa un valor decimal y una string como argumento

// Java program to illustrate the
// Java.lang.Integer.rotateLeft() method
import java.lang.*;
  
public class Geeks {
  
    public static void main(String[] args)
    {
  
        int a = 15.71;
        int shifts = 0;
        while (shifts < 2)
  
        {
            a = Integer.rotateLeft(a, shifts);
            System.out.println(a);
            shifts++;
        }
        int b = "61";
        int shifts2 = 0;
        while (shifts2 < 2)
  
        {
            b = Integer.rotateLeft(b, shifts2);
            System.out.println(b);
            shifts2++;
        }
    }
}
Producción:

prog.java:9: error: incompatible types: possible lossy conversion from double to int
    int a = 15.71;
            ^
prog.java:18: error: incompatible types: String cannot be converted to int
   int    b = "61";
              ^
2 errors

Publicación traducida automáticamente

Artículo escrito por ankita_chowrasia y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *