One fun way to get familiar with bitwise operations is writing a virtual machine, as it involves a lot of masking and shifting bits from instructions to extract relevant pieces (dare I say bits) of information. If anyone is interested in going this route, I recommend LC-3, as it's very straightforward.
one of my pet peeves of common computers is that they don't have a generalized LUT2 instruction. why do you pick out a handful of specific bitwise ops for me when all 16 are lying in reach! a mere 4 bit look up table!