Bit manipulation:
*Check if an integer is a power of 2
The n & (n - 1) trick is also useful to determine if an integer is a power of 2:
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.