Check if an integer is a power of 2suggest change
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 (
0 is incorrectly considered a power of 2.
Found a mistake? Have a question or improvement idea? Let me know.
Table Of Contents