Los enteros normales y largos tienen operaciones adicionales que sólo tienen sentido en cadenas de bits. Los números negativos se tratan como su valor complementario a 2 (en los enteros largos, se supone que hay suficientes bits para que la operación no desborde).
La prioridad de las operaciones a nivel de bit es menor que la de las operaciones numéricas y mayor que las comparaciones. La operación unaria "~" tiene la misma prioridad que las otras operaciones numéricas unarias ("+" y "-").
Esta tabla enumera los operadores a nivel de bit ordenados por prioridad ascendente (los operadores de una misma casilla tienen la misma prioridad):
Operación | Resultado | Notas |
---|---|---|
x | y |
o a nivel de bit de x e y | |
x ^ y |
o exclusivo de x e y | |
x & y |
y a nivel de bit de x e y | |
x « n |
x desplazado a la izquierda n bits | (1), (2) |
x » n |
x desplazado a la derecha n bits | (1), (3) |
~x |
x negado a nivel de bit |
Notas:
pow(2, n)
sin comprobación de desbordamiento.
pow(2, n)
sin comprobación de desbordamiento.