What do the C operators "&=" and "|=" do?
These statements are equivalent:

x = x &amp; 0x01;

x &amp;= 0x01;

It means to perform a bitwise operation with the values on the left and right-hand side, and then assign the result to the variable on the left, so a bit of a short form.  If you're not familiar with bitwise operations, I suggest you start getting familiar with those first - the &amp; being a bitwise AND and the | being a bitwise OR.

Hope that helps!