检查整数是否为 2 的幂

n & (n - 1) 技巧(请参阅删除最右边的设置位 )也可用于确定整数是否为 2 的幂:

bool power_of_2 = n && !(n & (n - 1));

请注意,如果没有检查的第一部分(n &&),则 0 被错误地视为 2 的幂。