检查整数是否为 2 的幂
n & (n - 1)
技巧(请参阅删除最右边的设置位 )也可用于确定整数是否为 2 的幂:
bool power_of_2 = n && !(n & (n - 1));
请注意,如果没有检查的第一部分(n &&
),则 0
被错误地视为 2 的幂。
n & (n - 1)
技巧(请参阅删除最右边的设置位 )也可用于确定整数是否为 2 的幂:
bool power_of_2 = n && !(n & (n - 1));
请注意,如果没有检查的第一部分(n &&
),则 0
被错误地视为 2 的幂。