php – 按位代码“$n&($n – 1)”有什么作用?

前端之家收集整理的这篇文章主要介绍了php – 按位代码“$n&($n – 1)”有什么作用?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这段代码意味着什么,以及在不使用位移的情况下以其他方式实现同​​样的目标?
if ($n & ($n - 1))
那个公式 checks to see whether a number is a power of 2(如果你写的条件是真的,那么这个数字不是2的幂).

换句话说,您的测试检查是否在$n的二进制表示中设置了多个“1”位.如果设置为零或仅设置一个位,那么您的测试将为假.

它是迄今为止确定该财产的最有效方式.

猜你在找的PHP相关文章