En primer lugar, hay tres tipos de operadores de turno, y sus tipos de operación solo admiten cinco tipos: byte/short/char/int y largos.
<< Operador de desplazamiento izquierdo, lo que significa mover los datos binarios del operando a la izquierda a la izquierda *, después del cambio, el bit vacante se llena con 0, y los bits excesivos se descartan. (Equivalente al poder n de multiplicar 2)
>> Operador de desplazamiento derecho, los datos binarios se mueven * bits hacia la derecha, ¿solo borra cuántos bits después de sus datos binarios? (Es bastante bueno establecer aquí, pero lo entiendo así) (equivalente al poder n de 2)
>>> El operador de desplazamiento derecho sin firmar, independientemente de si el bit más alto antes del turno es 0 o 1, los bits vacíos generados a la izquierda después del cambio derecho se llenan con 0.
Usemos una demostración para ayudar a comprender:
public static void main (string [] args) {int a = 16; int b = a << 2; // transferir 2 a la izquierda, equivalente a la potencia de 2 de 16 * 2, es decir, 16 * 4 int c = a >> 2; // transferir 2 a la derecha, equivalente a la potencia de 2 de 16/2, es decir, 16/4 sistema.out.println ("Los datos binarios de A son:" + interger.tobinarnstring (a)); System.out.println ("Los datos binarios de A son:" + Integer.TobinaryString (b)); System.out.println ("Los datos binarios de A son:" + Integer.TobinaryString (b)); System.out.println ("Los datos binarios de A son:" + Integer.TobinaryString (c)); System.out.println ("El valor de A después del cambio a la izquierda es:" + B); System.out.println ("El valor de A después de cambiar a la derecha es:" + C); }}Verifique los resultados en ejecución como se muestra en la figura:
Primero, los datos binarios de 16 son: 10000;
Mover dos bits restantes y 10000 se convierte en 1000000;
Mover dos dígitos a la derecha y 10000 se convierte en 100;
Después de convertir los datos binarios obtenidos en datos ordinarios,
El valor después del cambio de izquierda es 64, que es 16 * 2 a la potencia de 2 (16 * 4).
El valor después del cambio derecho es 4, que es 16/2 a la potencia de 2 (16/4).
¿Es mucho más fácil entender el operador de turno después de leer esta demostración?
La demostración anterior y el resumen de los operadores de turno (recomendados) en Java es todo el contenido que comparto con usted. Espero que pueda darle una referencia y espero que pueda apoyar más a Wulin.com.