这段代码意味着什么,以及在不使用位移的情况下以其他方式实现同样的目标?
if ($n & ($n - 1))
那个公式
checks to see whether a number is a power of 2(如果你写的条件是真的,那么这个数字不是2的幂).
换句话说,您的测试检查是否在$n的二进制表示中设置了多个“1”位.如果设置为零或仅设置一个位,那么您的测试将为假.
它是迄今为止确定该财产的最有效方式.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。