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); } }
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); } }
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