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
=
).