Operador de turnos en Java

Los operadores en Java están acostumbrados a realizar operaciones en variables y valores.  

Ejemplos de operadores: +, -, *, /, >>, <<.

Tipos de operadores:

  • operador aritmético,
  • operador de turno,
  • operador relacional,
  • operador bit a bit,
  • operador lógico,
  • Operador Ternario y
  • Operador de asignación.

En este artículo, nos centraremos principalmente en los operadores de turnos en Java.

Al desplazar los bits de su primer operando hacia la derecha o hacia la izquierda, un operador de desplazamiento realiza una manipulación de bits en los datos. Los operadores de desplazamiento disponibles en el lenguaje de programación Java se enumeran a continuación. El operador de desplazamiento es un operador de Java que se utiliza para desplazar patrones de bits hacia la derecha o hacia la izquierda.

Tipos de operadores de turnos en Java:

Nombre del operador

Señal  Descripción
Desplazamiento a la izquierda firmado << El operador de desplazamiento a la izquierda mueve todos los bits un número determinado de bits hacia la izquierda.
Desplazamiento a la derecha firmado >> El operador de desplazamiento a la derecha mueve todos los bits un número determinado de bits hacia la derecha.
Desplazamiento a la derecha sin firmar >>> Es lo mismo que el desplazamiento a la derecha con signo, pero la posición vacante más a la izquierda se llena con 0 en lugar del bit de signo.

1. Operador de desplazamiento a la izquierda firmado en Java

Este operador está representado por un símbolo <<, que se lee como doble menos que. 

Sintaxis: 

left_operand  <<  number

Ilustración:

Java

//  Left Shifting a byte value
 
class GFG {
    public static void main(String[] args)
    {
        byte a = 64, b;
        int i;
 
        i = a << 2;
        b = (byte)(a << 2);
        System.out.println("Original value of a: " + a);
        System.out.println("i and b: " + i + " " + b);
    }
}

Cálculo del valor de número<<2 si número=2. Cuando el valor de un número se desplaza dos lugares a la izquierda, los dos bits más a la izquierda se pierden. El número tiene un valor de dos. 0010 es la representación binaria del número 2. En el siguiente ejemplo, se explica el método para hacer un desplazamiento a la izquierda:

Ejemplo: 

En el siguiente ejemplo, el número binario 0010 (en decimal 2) se convierte en 1000 después de desplazar los bits a la izquierda (en decimal 8).

Java

// Java Program to demonstrate
// Signed Left-Shift Operator
 
// Importing required classes
import java.io.*;
 
// Main class
class GFG {
 
    // main driver method
    public static void main(String[] args)
    {
        int number = 2;
 
        // 2 bit left shift operation
        int Ans = number << 2;
 
        System.out.println(Ans);
    }
}
Producción

8

2. Operador de desplazamiento a la derecha firmado en Java

El operador de desplazamiento a la derecha mueve los bits de un número en un número determinado de lugares hacia la derecha. El signo >> representa el operador de desplazamiento a la derecha, que se entiende como doble mayor que. Cuando escribe x>>n, le dice a la computadora que mueva los bits x a los n lugares correctos.

Cuando desplazamos un número a la derecha, los bits menos significativos (más a la derecha) se eliminan y el bit de signo se rellena en el lugar más considerable (más a la izquierda).

Sintaxis:

left_operand  >>  number

Ilustración:

Calcula el valor de número>>2 si número=8.

Cuando el valor de un número se desplaza dos lugares a la derecha, los dos bits más a la derecha se pierden. El número tiene un valor de ocho. 1000 es la representación binaria del número 8. El siguiente es un ejemplo de cómo realizar el desplazamiento a la derecha:

En el ejemplo anterior, el número binario 1000 (en decimal 8) se convierte en 0010 después de desplazar los bits a la derecha (en decimal 2).

Ejemplo:

Java

// Java program to demonstrate
// the Signed right shift operator
import java.io.*;
 
class GFG
    {
    public static void main (String[] args) {
    {        
        int number = 8;
       
        // 2 bit signed right shift
        int Ans = number >> 2;
       
        System.out.println(Ans);   
    }
}

Java

// Masking sign extension
 
 
class GFG {
    public static void main (String[] args) {
       char hex[]={
       '0','1','2','3','4','5',
         '6','7','8','9','a','b','c',
         'd','e','f'
       };
       
      byte b=(byte) 0xf1;
       
      System.out.println("b = 0x" + hex [(b>>4) & 0x0f] + hex[b & 0x0f]);
    }
}

3. Operador de desplazamiento a la derecha sin firmar en Java

El operador de desplazamiento a la derecha sin signo mueve los bits del entero un número dado de lugares a la derecha. El bit de signo se llenó con 0s. El operador de desplazamiento a la derecha Bitwise Zero Fill está representado por el símbolo >>>.

Sintaxis:

left_operand  >>>  number

Java

// Java program to demonstrate
// the Unsigned right shift operator
import java.io.*;
 
class GFG
    {
    public static void main (String[] args)
    {
        byte num1 = 8;
        byte num2 = -8;
      
        System.out.println(num1 >>> 2);   
        System.out.println(num2 >>> 2);   
    }
}
Producción

2
1073741822

Nota: Para bits negativos, los operadores de desplazamiento a la derecha con signo y sin signo proporcionan resultados diferentes.

4. Operador de desplazamiento a la izquierda sin firmar en Java

A diferencia del desplazamiento a la derecha sin signo, no hay un operador «<<<» en Java porque las operaciones lógicas (<<) y aritméticas de desplazamiento a la izquierda (<<<) son idénticas.

Publicación traducida automáticamente

Artículo escrito por sanketnagare 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 *