Operadores de bit a bit en Java | Explicado

Operadores de bit a bit en Java | Explicado
Los operadores de bit a bit en Java realizan varias operaciones en un nivel de poco. Las operaciones bit a bit se aplican en tipos de datos primitivos (enteros, cadenas, flotación, doble, etc.) y manipular sus bits. Los operadores de bit a bit incluyen o XOR, y operadores de turno y operador de complemento. Este artículo proporciona el trabajo y el uso de operadores bit a bit en Java.

Cómo funcionan los operadores bit a bits en Java

Esta sección presenta la sintaxis y el funcionamiento de cada operador bitwise en Java.

Bitwise y (&): Este operador está relacionado con la lógica y la operación de Java. Sin embargo, el bitwise y el operador compara los bits de operandos y devuelven 1 si ambos números tienen 1 en el mismo lugar. Si los bits en la misma ubicación tienen otra combinación de 1,1, reemplazará 0 en el bit resultante. La sintaxis que se proporciona a continuación ayuda a aplicar bit a bit y operación en Java.

operand1 y operand2;

Bitwise o (|): Este operador compara bits de operandos y devuelve 1 si los operandos tienen otros 0,0 bits en su lugar. El bit a bit o se practica utilizando la siguiente sintaxis:

operando1 | operando2;

Bitwise xor (^): Esto funciona de manera diferente de bit a bit o bitwise y. Devuelve 1 si ambos operandos tienen diferentes bits y devuelve 0 en el caso de los mismos bits de operandos. Se debe seguir la siguiente sintaxis para ejercer el XOR bit a bit:

operand1 ^ operand2;

Complemento bitwise (~): Complemento bit a bit (~). Esto se refiere a cambiar los bits de un número de 0 a 1 y 1 a 0. La sintaxis proporcionada a continuación debe seguirse para aplicar el operador del complemento bit a bit:

~ operando;

Nota: El compilador Java toma el complemento de los 2 para usar el operador de complemento bitwise.

Operador de cambio de izquierda a bitwise (<<): Este operador cambia el bit de número a la izquierda por un número específico. Se debe seguir la siguiente sintaxis para aplicar el operador de desplazamiento izquierdo:

operando1<Operador de desplazamiento derecho bitwise (>>): El operador de desplazamiento derecho bit a bit cambia el binario de un número al lado derecho y llena el espacio vacante con un bit firmado (el bit más significativo que está en la posición más a la izquierda del número binario). Para usar el operador de cambio correcto, se proporciona la siguiente sintaxis:

operand1 >> operand2;

Bitwise Unsinged Right Shift (>>>): Esto también se refiere a cambiar a la derecha ocupando el espacio vacante con "0". La sintaxis proporcionada a continuación se puede usar para aplicar el operador sin firmar bit a bit:

operand1 >> operand2;

Mientras se trata de operadores de turnos, se recomienda que Operand2 sea menor que Operand1; de lo contrario, se puede devolver un error. Además, los números negativos no se pueden usar para aplicar los operadores de turno, ya que el resultado podría ser infinito.

Cómo usar operadores bitwise en Java

Esta sección proporciona la implementación de varios operadores bit a Java.

Usando bitwise o (|): El código Java escrito a continuación se practica utilizando el bitwise u operador.

Paquete Newpack;
clase pública bitwiseop
public static void main (string [] args)
// Inicialización de variables
int a = 4, b = 6;
// Impresión del binario de variable a
Sistema.afuera.println (entero.Tobinarystring (a));
// Impresión del binario de la variable B
Sistema.afuera.println (entero.Tobinarystring (b));
// Uso del operador ort en A y B
Sistema.afuera.println ("el resultado de a | bis:" +(a | b));
// Impresión del binario de A | B
Sistema.afuera.println (entero.TobinaryString (a | b));

La descripción del código es:

- Inicializando dos variables a y b

- Impresión de los binarios de las variables, a y b

- Imprime el resultado de A | B

- Obtiene el binario de A | B

Nota: Imprimir/obtener el binario del entero en el código anterior es opcional. Lo hemos usado para una mejor comprensión, de lo contrario, Java realiza automáticamente las operaciones bitwise en el binario equivalente del número.

La salida del código se proporciona a continuación:

La salida muestra que los números binarios de "a = 4" y "b = 6" son "100" y "110" respectivamente. Y cuando se aplica el operador bitwise "o", el resultado es 6 y su binario equivalente es "110".

Usando bitwise y (&): Para demostrar el uso de bitwise y, hemos practicado el siguiente código Java.

Paquete Newpack;
clase pública bitwiseop
public static void main (string [] args)
// Inicialización de variables
int x = 5, y = 7;
// Impresión del binario de variable x
Sistema.afuera.println (entero.TobinaryString (x));
// Impresión del binario de la variable y
Sistema.afuera.println (entero.tobinaria (y));
// usando el operador y el operador en x e y
Sistema.afuera.println ("El resultado de x & y es:" +(x & y));
// Impresión del binario de x & y
Sistema.afuera.println (entero.TobinaryString (x & y));

El código indicado anteriormente se describe como:

- inicializa dos variables X y Y

- Impresión del binario de X

- Impresión del binario de Y

- aplicando Y operador X,Y

- Impreso el binario de X&Y

La salida del código anterior se muestra a continuación:

De la salida, se observa que el binario de "x = 5" y "y = 7" es "101" y "111" respectivamente. Cuando bitwise Y se aplica en estos, el resultado es "5" que tiene un valor binario "101".

Usando el complemento bitwise (~): El operador del complemento bit a bit se usa en el código provisto de volar.

Paquete Newpack;
clase pública bitwiseop
public static void main (string [] args)
// Inicialización de la variable
int z = 2;
// usando el operador ~ en z
Sistema.afuera.println ("El resultado de ~ z es:" + ~ z);

El código anterior obtiene el valor de z = 2 e imprime el complemento bit a bit de z.

La salida se puede ver a continuación:

Usando el desplazamiento a la izquierda bit a bit (<<): Hemos practicado el siguiente código Java para implementar el operador de cambio de izquierda bitwise.

Paquete Newpack;
clase pública bitwiseop
public static void main (string [] args)
// Inicialización de la variable
int a = 4;
// binario de un
Sistema.afuera.println (entero.Tobinarystring (a));
// Usando el desplazamiento a la izquierda bit a bit en un
Sistema.afuera.println (un<<2);
// binario de un<<2
Sistema.afuera.println (entero.Tobinarystring (un<<2));

El código anterior se describe a continuación:

- a Se inicializa la variable

- Impreso el binario de a

- Uso del operador de cambio de bit a bit en a

- Obtener el binario de a<<2 (Número de bits que se cambiarán)

La salida del código se muestra a continuación:

A partir de la salida, se observa que el binario de "a = 4" es "100" y cuando se cambian 2bits, el binario sería "10000" y su decimal equivalente sería "16".

Usando el cambio derecho bitwise (>>): La aplicabilidad del operador de cambio correcto se describe en el siguiente código.

Paquete Newpack;
clase pública bitwiseop
public static void main (string [] args)
// Inicialización de la variable
int a = 7;
// binario de un
Sistema.afuera.println (entero.Tobinarystring (a));
// Usando el cambio derecho bitwise en un
Sistema.afuera.println (a >> 2);
// binario de un >> 2
Sistema.afuera.println (entero.TobinaryString (a >> 2));

El código se describe como:

- variable a se inicializa

- binario de a está impreso

- Aplicado el cambio derecho en a

- Impreso el binario de A >> 2.

La salida del código se proporciona aquí:

La salida muestra que las 2 bilas correctas se eliminan de "111" (binario de 7) y el binario resultante es "1".

Usando el cambio derecho sin firmar bitwise (>>>): El siguiente código muestra el uso del operador de desplazamiento derecho sin firmar a bit a bit a bit a bits.

Paquete Newpack;
clase pública bitwiseop
public static void main (string [] args)
// Inicialización de la variable
int x = 11;
// binario de x
Sistema.afuera.println (entero.TobinaryString (x));
// Usando el cambio derecho no firmado de bit a bits en x
Sistema.afuera.println (x >>> 2);
// binario de x >>> 2
Sistema.afuera.println (entero.TobinaryString (x >>> 2));

La descripción del código es como:

- inicializó una variable X

- Impreso el binario de X

- Impreso el resultado de x >>> 2

- obtuvo el binario de x >>> 2

La salida se puede ver en la siguiente imagen:

El operador de desplazamiento derecho sin firmar mueve la broca hacia la derecha y el espacio vacante está ocupado por 2 (ya que hemos establecido el número de bits a 2) 0's. Además, se observa a partir de la salida que se eliminan las 2 bancas más derechas.

Conclusión

Los operadores bit a Java se practican realizando varias operaciones en patrones bit a bits. El patrón bit a bit considera los bits para manipular los datos. Este artículo demuestra varios operadores bit a Java. Los operadores bit a bits incluyen bitwise y bitwise o, complemento bitwise, xor, etc. Habría aprendido el trabajo básico y el uso de todos estos operadores bit a bit en Java.