3.7.5. Operadores para bits

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