bit_expression
::=
( "~" expression )
| ( expression
( ">>="
| """"<<"
| ">>"
| ">>>" )
expression )
This rule is called by-> expression
Explications~x | complément binaire (NON) |
x & y | ET binaire |
x | y | OU binaire |
x ^ y | OU-exclusif |
x << y | décalage à gauche |
x >> y | décalage à droite * |
x >>> y | décalage à droite * |
* L'opérateur >> provoque une extension du signe, et
>>> insère des 0 à gauche.
x &= y | équivalent à x = x & y |
x |= y | équivalent à x = x | y |
x ^= y | équivalent à x = x^= y |
x <<= y | équivalent à x = x << y |
x >>= y | équivalent à x = x >> y |
x >>>= y | équivalent à x = x >>> y |
Exemples
int quatre = 4;
int huit = quatre << 1;
int un = 8;
un >>>= 3; // un == 1
int entier = 0xDeadBeef;
int dead = entier >>> 16;
int beef = entier & 0xffff;