¿Qué son los operadores bitwise?

En un programa de computadora, los operadores bit a bit son operadores para manipular patrones de bits en expresiones. Bit a bitwise y, o, exclusivo o (xor), no, el cambio derecho y el cambio izquierdo son operaciones comunes. La mayoría de los lenguajes de programación de computadoras incluyen los seis operadores. A menudo se usan para configurar, limpiar o voltear bits individuales en programas que controlan el hardware de la computadora. Los operadores bit a bit también se usan con frecuencia en algoritmos de cifrado y compresión de datos.

Los operadores comunes de bitsuxthise generalmente se representan simbólicamente en lenguajes de programación como C, C ++ y Java. Se usan en expresiones al igual que los operadores aritméticos como los signos más o menos. El operador bitwise y se representa con los ampersand & , o con la tubería | y xor con el caret ^. No, también conocido como operador del complemento, se indica con un Tilde ~ .

El operador de desplazamiento correcto usa un doble caret que apunta a la derecha >> . En contraste,El desplazamiento izquierdo se indica mediante un doble caret izquierdo <<<. Java incluye otra operación de desplazamiento derecho, que se muestra con un triple-caret de apuntación derecho >>> .

Los operadores de bitswise aplican una operación lógica a cada par de bits en sus operandos. No, el cambio derecho y el cambio izquierdo tienen solo un verdadero operando; El segundo valor en las operaciones de turno es el recuento de bits. Para comprender mejor cómo funcionan los operadores bit a bit, un individuo puede visualizar sus operandos como números binarios. Por ejemplo, el operador del complemento voltea cada bit de su operando único al estado opuesto. Un uno se convierte en un cero y un cero se convierte en uno. El complemento del valor binario de 8 bits 00110101 es 11001010.

El y el operador tienen dos operandos. Bit a bit, se realiza una lógica y una operación utilizando una broca correspondiente de cada operando. El resultado de cada operación de bit se coloca en esa posición de bit de la general.resultado. Por ejemplo, el y el operador procesarán 7 de un operando con bit 7 del otro operando. El resultado se almacenará en el bit 7 del resultado general.

En una operación y, ambos bits de operando deben ser los que son uno para que el resultado sea uno; de lo contrario, el resultado es cero. Por ejemplo, si los valores binarios de 8 bits de los operandos son 00110101 y 11110000, el resultado será 00110000. Un uso común del operador y es cero bits particulares en el resultado. Esto se hace colocando ceros en esas posiciones de bits en uno de los operandos.

En una operación de OR, ambos bits de operando deben ser cerosos para que el resultado sea cero; De lo contrario, el resultado es uno. Un uso común del operador OR es establecer ciertos bits del resultado en los. Esto se hace colocando las que se encuentran en esas posiciones de bits en una de las operandas. Para la operación XOR, el resultado es cero si ambos bits de operando son cero o si ambos bits de operando son uno; de lo contrario, el resultado es uno.

Cambio a la izquierda AND Right Shift Mover los bits en el operando izquierda o derecha por el número especificado de posiciones de bits. Un desplazamiento derecho lógico mueve un cero en el bit más a la izquierda como parte del cambio. Un cambio aritmético derecho copia el bit más a la izquierda, el bit de signo, antes del cambio a la misma posición después del cambio. El bit original también se desplaza junto con el resto. Cualquiera de los tipos de cambio izquierdo mueve un cero en el bit más a la derecha.

Cuando un operando se desplaza a la derecha, el bit más a la derecha antes del cambio simplemente se tira. Del mismo modo, el bit más a la izquierda antes de que se elimine un cambio izquierdo. No se envuelve en el otro extremo del operando.

Las operaciones de cambio de bitwise son dependientes del lenguaje y la implementación. Por ejemplo, en C y C ++, >> y <<< Realice cambios lógicos si el operando es un entero sin firmar. Si el operando es un entero firmado, es probable que se realice un cambio aritmético. En Java, todos los operandos se consideran firmados y arithmLos cambios éticos siempre se realizan con >> y <<. El operador >> se usa para un cambio lógico derecho, pero aún es posible hacer accidentalmente un cambio aritmético derecho en su lugar sin una tipificación cuidadosa.

También pueden surgir complicaciones cuando los operandos tienen diferentes longitudes de bit o cuando algunas están firmadas y algunas no están firmadas. Los operadores bit a bit y constantes numéricas en el medio de una expresión compleja pueden no evaluarse como se anticipa. Se debe tener cuidado para especificar el tamaño y la naturaleza firmada/sin firmar de cada cantidad en la expresión. Esto se puede hacer con una facturación cuidadosa o asignaciones provisionales a tipos de variables específicos en el código de programa.

OTROS IDIOMAS