Los operadores de bits permiten manipular bits individuales y
dar como salida un número (ya que los valores con punto flotante
utilizan un formato interno especial, los operadores de bitS
sólo funcionan con tipos enteros: char,
int y long). Los operadores de bitS
efectúan álgebra booleana en los bits correspondientes de los
argumentos para producir el resultado.
El operador and (&) para
bits produce uno en la salida si ambos bits de entrada valen
uno; de otro modo produce un cero. El operador
or (|) para bits produce un
uno en la salida si cualquiera de los dos valores de entrada
vale uno, y produce un cero sólo si ambos valores de entrada son
cero. El operador or exclusivo o
xor (^) para bits produce uno
en la salida si uno de los valores de entrada es uno, pero no
ambos. El operador not (~)
para bits (también llamado operador de complemento a
uno) es un operador unario - toma un único argumento
(todos los demás operadores son binarios). El operador
not para bits produce el valor contrario a
la entrada - uno si el bit de entrada es cero, y cero si el bit
de entrada es uno.
Los operadores de bits pueden combinarse con el signo
= para unir la operación y la asignación:
&=, |=, y ^= son
todas operaciones legales (dado que ~ es un
operador unario no puede combinarse con el signo
=).