What are bitwise shift (bit-shift) operators and how do they work?

I’ve been attempting to learn C in my spare time, and other languages (C#, Java, etc.) have the same concept (and often the same operators) … What I’m wondering is, at a core level, what does bit-shifting (<<, >>, >>>) do, what problems can it help solve, and what gotchas lurk around the bend? In … Read more