You probably know how to clear the lsb in a word, right?
Now, imagine the word (or an int, or a long, whatever) is split into pairs of bits. How the hell can I clear the last non-zero pair?
E.g.
0 -> 0
1 -> 0
2 -> 0
3 -> 0
4 -> 4
5 -> 4
6 -> 4
7 -> 4
...
0xfe000 -> 0xfc000
...