这段代码意味着什么,以及在不使用位移的情况下以其他方式实现同样的目标?
if ($n & ($n - 1))
那个公式
checks to see whether a number is a power of 2(如果你写的条件是真的,那么这个数字不是2的幂).
换句话说,您的测试检查是否在$n的二进制表示中设置了多个“1”位.如果设置为零或仅设置一个位,那么您的测试将为假.
它是迄今为止确定该财产的最有效方式.