Desplazamiento a la derecha de Java - >>>

Rashmi Patidar 12 octubre 2023
Desplazamiento a la derecha de Java - >>>

En lenguaje Java, >>> se conoce a menudo como el operador de desplazamiento de bits a la derecha sin signo. A diferencia de los operadores firmados, siempre permite que los lugares finales se llenen con un valor cero. Entendamos las siguientes operaciones con la ayuda de un ejemplo.

Considere dos números que son ay b. El valor de los dos dados está por debajo.

a = 20
b = -20
a = 00000000000000000000000000010100
b = 11111111111111111111111111101100

El caso de uso del operador de desplazamiento a la derecha bit a bit es la división de valor o la variable por 2.

Ahora apliquemos el operador de desplazamiento a la derecha sin firmar, es decir, a>>>1. El operador desplaza internamente todos los bits de la variable hacia el lado derecho. Llena las posiciones finales con el valor cero.

A continuación se muestra el bloque de código para entender el mismo.

public class RightShiftOperator {
  public static void main(String[] args) {
    System.out.println("The value of a and b before >>> operator");
    int x = 20;
    int y = -20;
    System.out.println(Integer.toBinaryString(x));
    System.out.println(Integer.toBinaryString(y));
    System.out.println("The value of a and b after applying >>> operator");
    System.out.println(Integer.toBinaryString(x >>> 1));
    System.out.println(Integer.toBinaryString(y >>> 1));
    int divX = x >>> 1;
    int divY = y >>> 1;
    System.out.println("Half the value of x: " + divX);
    System.out.println("Half the value of y: " + divY);
  }
}

En el bloque de código anterior, las variables a y b se inicializan con el valor 20 y -20 cada una.

La función toBinaryString() de la clase Integer se aplica en el método de flujo de impresión.

Su función es convertir la variable entera para convertirla en cadena binaria. El método está disponible en la versión Java 1.2.

La clase Integer tiene funciones para convertir el valor int primario en los respectivos objetos envoltorios y, por lo tanto, actúa como envoltorio para valores primitivos.

La entrada del método es una variable int que se convertirá al valor String. El parámetro que se pasa en la función es la variable junto con el operador.

Por último, se imprime la variable con la operación realizada.

La salida del código utilizando el operador >>> es la siguiente.

The value of a and b before >>> operator
00000000000000000000000000010100
11111111111111111111111111101100
The value of a and b after applying >>> operator
00000000000000000000000000001010
01111111111111111111111111110110
Half the value of x: 10
Half the value of y: 2147483638
Rashmi Patidar avatar Rashmi Patidar avatar

Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.

LinkedIn

Artículo relacionado - Java Operator