The n & (n - 1) trick is also useful to determine if an integer is a power of 2:
n & (n - 1)
bool power_of_2 = n && !(n & (n - 1));
Note that without the first part of the check (n &&), 0 is incorrectly considered a power of 2.
n &&
0