Bitwise

Bit a bit es un nivel de operaciones que implica trabajar con bits individuales, que son las unidades de datos más pequeñas en una computadora. Cada bit tiene un único valor binario: 0 o 1. Aunque las computadoras son capaces de manipular bits, generalmente almacenan datos y ejecutan instrucciones en múltiplos de bits llamados bytes. La mayoría de los lenguajes de programación manipulan grupos de 8, 16 o 32 bits.

Los operadores bit a bit son caracteres que representan acciones que se realizarán en bits individuales. Una operación bit a bit opera en patrones de dos bits de igual longitud al hacer coincidir posicionalmente sus bits individuales:

Un Y lógico (&) de cada par de bits da como resultado un 1 si el primer bit es 1 Y el segundo bit es 1. De lo contrario, el resultado es cero. Entre otros usos, AND (representado como &) se puede usar para probar bits individuales en una cadena de bits para ver si son 0 o 1.

Aquí hay un ejemplo en C / C ++:

IsOdd = (ValueToTest & 1)! = 0;

Un OR lógico (|) de cada par de bits da como resultado un 1 si el primer bit es 1 O el segundo bit es 1. De lo contrario, el resultado es cero. Un XOR lógico (~) de cada par de bits da como resultado un 1 si los dos bits son diferentes y un 0 si son iguales.

El NOT lógico se representa como ^. Desplazamiento a la izquierda (<<), desplazamiento a la derecha (>>) y desplazamiento a la derecha de relleno cero (>>>>) a veces se denominan operadores bit a bit y a veces se denominan operadores de cambio de bits.

Vea una introducción a las operaciones bit a bit en Java: