java bitwise operators and the equal character; compound operators

bit-manipulation, compound-operator, java, operators

Solution

There are somewhat like `+=`.

For example `x+=3` means add 3 to x; store to x.

v <<= 8;

left-shifts v 8 bits, and stores to v, functionally equivalent to `v=v << 8`.

v |= 230;

does a bitwise OR with 230 and stores back to v, equivalent to `v=v | 230`.

Now, due to performance constraints and optimizations this operation may be done in place at a low level.

Problem

I'm a bit confused: ``` long v = 0; v <<= 8; v |= 230; ``` I know << is the signed left shift operator and | Bitwise the inclusive OR but I'm confused to what the equals does? So fist v is 0. So << doesn't have any effect? Then it equals 1000 but what happens then? edit: I've edited the title so others might better find this question: added "compound operators"

Original source