What do these JavaScript bitwise operators do?
x <<= y (x = x << y)
x >>= y (x = x >> y)
x >>>= y (x = x >>> y)
x &= y (x = x & y)
x ^= y (x = x ^ y)
x |= y (x = x | y)
What do these different operators do?
<<, >>
Bit shift left and right, respectively. If you imagine the left operand as a binary sequence of bits, you are shifting those to the left or right by the number of bits indicated by the right operand.
&, ^, |
These are bitwise and, xor, and or, respectively. You can think of &
and |
as the counterparts to &&
and ||
, except that they will treat their operands as bit vectors, and perform the logical operations on each of the bits. There is no ^^
operator, but this operation is "xor" or "exclusive or". You can think of "a xor b" as "a or b, but not both".
Bitwise Operators